Commit 3364be674f4de8f24f42f77e652ffe5d36aca94a

Authored by alexdiatlov
Committed by GitHub
2 parents eb2a8627 bf91ea54

Merge pull request #258 from ProzorroUKR/dev_prozorro_2

Dev prozorro 2
... ... @@ -2112,6 +2112,21 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status
2112 2112 Remove File ${file_path}
2113 2113
2114 2114
  2115 +Можливість завантажити обгрунтування аномально низької ціни до пропозиції учасником
  2116 + [Arguments] ${username} ${doc_name} ${doc_type}=${NONE}
  2117 + ${file_path} ${file_name} ${file_content}= create_fake_doc
  2118 + ${doc_id}= get_id_from_string ${file_name}
  2119 + ${bid_document_data}= Create Dictionary
  2120 + ... doc_name=${file_name}
  2121 + ... doc_content=${file_content}
  2122 + ... doc_id=${doc_id}
  2123 + Run As ${username} Завантажити документ в ставку обгрунтування аномально низької ціни ${file_path} ${TENDER['TENDER_UAID']} ${doc_name} ${doc_type}
  2124 + Set To Dictionary ${USERS.users['${username}']} bid_document=${bid_document_data}
  2125 + #Set To Dictionary ${USERS.users['${username}']} bidresponses=${bid_doc_upload}
  2126 + #Set To Dictionary ${USERS.users['${username}'].bidresponses} bid_doc_upload=${bid_doc_upload}
  2127 + Remove File ${file_path}
  2128 +
  2129 +
2115 2130 Можливість змінити документацію цінової пропозиції користувачем ${username}
2116 2131 ${file_path} ${file_name} ${file_content}= create_fake_doc
2117 2132 ${doc_id}= get_id_from_string ${file_name}
... ... @@ -2135,6 +2150,18 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status
2135 2150 Set To Dictionary ${USERS.users['${username}']} bid_document_modified=${bid_document_modified_data}
2136 2151 Remove File ${file_path}
2137 2152
  2153 +
  2154 +Можливість змінити документацію обгрунтування аномально низької ціни користувачем ${username}
  2155 + ${file_path} ${file_name} ${file_content}= create_fake_doc
  2156 + ${doc_id}= get_id_from_string ${file_name}
  2157 + ${bid_document_modified_data}= Create Dictionary
  2158 + ... doc_name=${file_name}
  2159 + ... doc_content=${file_content}
  2160 + ... doc_id=${doc_id}
  2161 + Run As ${username} Змінити документ в ставці при обгрунтуванні аномально низької ціни ${TENDER['TENDER_UAID']} ${file_path} ${USERS.users['${username}']['bid_document']['doc_id']}
  2162 + Set To Dictionary ${USERS.users['${username}']} bid_document_modified=${bid_document_modified_data}
  2163 + Remove File ${file_path}
  2164 +
2138 2165 ##############################################################################################
2139 2166 # Cancellations
2140 2167 ##############################################################################################
... ...
... ... @@ -1687,6 +1687,25 @@ Library openprocurement_client.utils
1687 1687 [Return] ${uploaded_file}
1688 1688
1689 1689
  1690 +Завантажити документ в ставку обгрунтування аномально низької ціни
  1691 + [Arguments] ${username} ${path} ${tender_uaid} ${doc_name}=documents ${doc_type}=${None}
  1692 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  1693 + ${bid_id}= set variable ${tender.data.awards[0].bid_id}
  1694 + ${tender}= set_access_key ${tender} ${USERS.users['${username}']['access_token']}
  1695 + ${response}= Call Method ${USERS.users['${username}'].client} upload_bid_document
  1696 + ... ${path}
  1697 + ... ${tender.data.id}
  1698 + ... ${bid_id}
  1699 + ... doc_type=${doc_type}
  1700 + ... access_token=${tender.access.token}
  1701 + ... subitem_name=${doc_name}
  1702 + ${uploaded_file} = Create Dictionary
  1703 + ... filepath=${path}
  1704 + ... upload_response=${response}
  1705 + Log object data ${uploaded_file}
  1706 + [Return] ${uploaded_file}
  1707 +
  1708 +
1690 1709 Змінити документ в ставці
1691 1710 [Arguments] ${username} ${tender_uaid} ${path} ${doc_id} ${doc_type}=documents
1692 1711 ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid'].data.id}
... ... @@ -1727,6 +1746,26 @@ Library openprocurement_client.utils
1727 1746 [Return] ${uploaded_file}
1728 1747
1729 1748
  1749 +Змінити документ в ставці при обгрунтуванні аномально низької ціни
  1750 + [Arguments] ${username} ${tender_uaid} ${path} ${doc_id} ${doc_type}=documents
  1751 + ${bid_id}= openprocurement_client.Отримати інформацію із пропозиції ${username} ${tender_uaid} id
  1752 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  1753 + ${tender}= set_access_key ${tender} ${USERS.users['${username}']['access_token']}
  1754 + ${bid}= openprocurement_client.Отримати пропозицію ${username} ${tender_uaid}
  1755 + ${bid_doc}= get_document_by_id ${bid.data} ${doc_id}
  1756 + ${response}= Call Method ${USERS.users['${username}'].client} update_bid_document
  1757 + ... ${path}
  1758 + ... ${tender.data.id}
  1759 + ... ${bid_id}
  1760 + ... ${bid_doc['id']}
  1761 + ... access_token=${tender.access.token}
  1762 + ${uploaded_file} = Create Dictionary
  1763 + ... filepath=${path}
  1764 + ... upload_response=${response}
  1765 + Log object data ${uploaded_file}
  1766 + [Return] ${uploaded_file}
  1767 +
  1768 +
1730 1769 Змінити документацію в ставці
1731 1770 [Arguments] ${username} ${tender_uaid} ${doc_data} ${doc_id}
1732 1771 ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid'].data.id}
... ...
... ... @@ -302,11 +302,19 @@ def test_tender_data_planning(params):
302 302 }
303 303 },
304 304 "procuringEntity": {
  305 + "kind": "general",
305 306 "identifier": {
306 307 "scheme": "UA-EDR",
307 308 "id": random.choice(["13313462", "00037256"]),
308 309 "legalName": random.choice([u"Київський Тестовий Ліцей", u"Київська Тестова міська клінічна лікарня"]),
309 310 },
  311 + "address": {
  312 + "countryName": "Україна",
  313 + "postalCode": "01220",
  314 + "region": "м. Київ",
  315 + "streetAddress": "вул. Банкова, 11, корпус 1",
  316 + "locality": "м. Київ"
  317 + }
310 318 },
311 319 "tender": {
312 320 "procurementMethod": "",
... ... @@ -374,22 +382,46 @@ def test_tender_data_limited(params, plan_data):
374 382 data.update({"procurementMethodType": params['mode'], "procurementMethod": "limited"})
375 383 if params['mode'] == "negotiation":
376 384 cause_variants = (
377   - "artContestIP",
378   - "noCompetition",
  385 + "resolvingInsolvency",
  386 + "artPurchase",
  387 + "contestWinner",
  388 + "technicalReasons",
  389 + "intProperty",
  390 + "lastHope",
379 391 "twiceUnsuccessful",
380 392 "additionalPurchase",
381 393 "additionalConstruction",
382 394 "stateLegalServices"
383 395 )
384 396 cause = fake.random_element(cause_variants)
  397 + data.update({
  398 + "cause": cause,
  399 + "causeDescription": fake.description()
  400 + })
385 401 elif params['mode'] == "negotiation.quick":
386   - cause_variants = ('quick',)
387   - if params['mode'] in ("negotiation", "negotiation.quick"):
  402 + cause_variants = (
  403 + "resolvingInsolvency",
  404 + "artPurchase",
  405 + "contestWinner",
  406 + "technicalReasons",
  407 + "intProperty",
  408 + "lastHope",
  409 + "twiceUnsuccessful",
  410 + "additionalPurchase",
  411 + "additionalConstruction",
  412 + "stateLegalServices",
  413 + "emergency",
  414 + "humanitarianAid",
  415 + "contractCancelled",
  416 + "activeComplaint"
  417 + )
388 418 cause = fake.random_element(cause_variants)
389 419 data.update({
390 420 "cause": cause,
391 421 "causeDescription": fake.description()
392 422 })
  423 + #if params['mode'] in ("negotiation", "negotiation.quick"):
  424 + #cause = fake.random_element(cause_variants)
393 425 return munchify(data)
394 426
395 427
... ... @@ -1026,10 +1058,18 @@ def invalid_gmdn_data():
1026 1058
1027 1059 def test_buyers_data():
1028 1060 buyers = {
  1061 + "kind": "general",
1029 1062 "identifier": {
1030 1063 "scheme": "UA-EDR",
1031 1064 "id": random.choice(["13313462", "00037256"]),
1032 1065 "legalName": random.choice([u"Київський Тестовий Ліцей", u"Київська Тестова міська клінічна лікарня"]),
  1066 + },
  1067 + "address": {
  1068 + "countryName": "Україна",
  1069 + "postalCode": "01220",
  1070 + "region": "м. Київ",
  1071 + "streetAddress": "вул. Банкова, 11, корпус 1",
  1072 + "locality": "м. Київ"
1033 1073 }
1034 1074 }
1035 1075 return munchify(buyers)
... ...
... ... @@ -182,8 +182,10 @@ Get Broker Property By Username
182 182 Run Keyword And Ignore Error Set To Dictionary ${artifact} tender_owner_access_token=${USERS.users['${tender_owner}'].access_token}
183 183 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_access_token=${USERS.users['${provider}'].access_token}
184 184 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider1_access_token=${USERS.users['${provider1}'].access_token}
  185 + Run Keyword And Ignore Error Set To Dictionary ${artifact} provider2_access_token=${USERS.users['${provider1}'].access_token}
185 186 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_bid_id=${USERS.users['${provider}'].bid_id}
186 187 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider1_bid_id=${USERS.users['${provider1}'].bid_id}
  188 + Run Keyword And Ignore Error Set To Dictionary ${artifact} provider2_bid_id=${USERS.users['${provider1}'].bid_id}
187 189 Run Keyword And Ignore Error Set To Dictionary ${artifact}
188 190 ... tender_file_properties=${USERS.users['${tender_owner}'].tender_document.file_properties}
189 191 ... lot_file_properties=${USERS.users['${tender_owner}'].lots_documents[0].file_properties}
... ...
... ... @@ -21,6 +21,9 @@ ${VAT_INCLUDED} ${True}
21 21 ${ROAD_INDEX} ${False}
22 22 ${GMDN_INDEX} ${False}
23 23 ${PLAN_TENDER} ${True}
  24 +${BID_AMOUNT_1} ${500}
  25 +${BID_AMOUNT_2} ${1000}
  26 +${BID_AMOUNT_3} ${1500}
24 27
25 28 *** Test Cases ***
26 29 Можливість оголосити тендер
... ... @@ -2044,7 +2047,7 @@ ${PLAN_TENDER} ${True}
2044 2047 ... critical
2045 2048 [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']}
2046 2049 [Teardown] Оновити LAST_MODIFICATION_DATE
2047   - Можливість подати цінову пропозицію на суму 500 користувачем ${provider}
  2050 + Можливість подати цінову пропозицію на суму ${BID_AMOUNT_1} користувачем ${provider}
2048 2051
2049 2052
2050 2053 Можливість зменшити пропозицію на 5% першим учасником
... ... @@ -2096,7 +2099,7 @@ ${PLAN_TENDER} ${True}
2096 2099 ... critical
2097 2100 [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']}
2098 2101 [Teardown] Оновити LAST_MODIFICATION_DATE
2099   - Можливість подати цінову пропозицію на суму 1000 користувачем ${provider1}
  2102 + Можливість подати цінову пропозицію на суму ${BID_AMOUNT_2} користувачем ${provider1}
2100 2103
2101 2104
2102 2105 Можливість зменшити пропозицію на 5% другим учасником
... ... @@ -2127,7 +2130,7 @@ ${PLAN_TENDER} ${True}
2127 2130 ... critical
2128 2131 [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']}
2129 2132 [Teardown] Оновити LAST_MODIFICATION_DATE
2130   - Можливість подати цінову пропозицію на суму 1500 користувачем ${provider2}
  2133 + Можливість подати цінову пропозицію на суму ${BID_AMOUNT_3} користувачем ${provider2}
2131 2134
2132 2135 ##############################################################################################
2133 2136 # ABOVETRHESHOLD BIDDING
... ...
... ... @@ -228,7 +228,15 @@ ${award_index} ${0}
228 228 Повідомлення в awards про невіповідність пропозиції 0
229 229
230 230
231   -Можливість завантажити документ в пропозицію першим учасником
  231 +Неможливість визначити переможця до завершення dueDate
  232 + [Tags] ${USERS.users['${tender_owner}'].broker}:
  233 + ... tender_owner
  234 + ... ${USERS.users['${tender_owner}'].broker}
  235 + ... qualification_approve_award_dueDate_error
  236 + run keyword and expect error * Підтвердити постачальника ${tender_owner} ${TENDER['TENDER_UAID']} 0
  237 +
  238 +
  239 +Можливість завантажити документ в пропозицію учасником 24 години
232 240 [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
233 241 ... provider
234 242 ... ${USERS.users['${provider}'].broker}
... ... @@ -248,6 +256,26 @@ ${award_index} ${0}
248 256 Можливість змінити документацію цінової пропозиції при усуненні невідповідності користувачем ${provider}
249 257
250 258
  259 +Можливість завантажити документ в пропозицію учасником аномально низька ціна
  260 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  261 + ... provider
  262 + ... ${USERS.users['${provider}'].broker}
  263 + ... add_doc_to_bid_by_provider_alp_qualification
  264 + ... critical
  265 + [Teardown] Оновити LAST_MODIFICATION_DATE
  266 + Можливість завантажити обгрунтування аномально низької ціни до пропозиції учасником ${provider} documents evidence
  267 +
  268 +
  269 +Можливість змінити документацію цінової пропозиції учасником аномально низька ціна
  270 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  271 + ... provider
  272 + ... ${USERS.users['${provider}'].broker}
  273 + ... change_doc_to_bid_by_provider_alp_qualification
  274 + ... critical
  275 + [Teardown] Оновити LAST_MODIFICATION_DATE
  276 + Можливість змінити документацію обгрунтування аномально низької ціни користувачем ${provider}
  277 +
  278 +
251 279 Можливість дочекатися перевірки переможців по ЄДРПОУ
252 280 [Tags] ${USERS.users['${tender_owner}'].broker}: Перевірка користувача по ЄДРПОУ
253 281 ... tender_owner
... ...
  1 +-v MODE:openua
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:1
  5 +
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-i create_tender
  11 +-i find_tender
  12 +
  13 +-i make_bid_fixed_amount_by_provider
  14 +-i make_bid_fixed_amount_by_provider1
  15 +-i make_bid_fixed_amount_by_provider2
  16 +
  17 +-i wait_active_qualification_start
  18 +-i qualification_approve_award_dueDate_error
  19 +-i add_doc_to_bid_by_provider_alp_qualification
  20 +-i qualification_add_doc_to_first_award
  21 +-i qualification_approve_first_award
... ...
Please register or login to post a comment