Commit 2f16f03cb686c23e7debcfbf6f211974ea8f1136

Authored by AlexDiatlov
2 parents d5358ce9 8c4ed65c

Merge branch 'master' of https://github.com/ProzorroUKR/robot_tests into feature/pq

... ... @@ -2127,6 +2127,21 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status
2127 2127 Remove File ${file_path}
2128 2128
2129 2129
  2130 +Можливість завантажити обгрунтування аномально низької ціни до пропозиції учасником
  2131 + [Arguments] ${username} ${doc_name} ${doc_type}=${NONE}
  2132 + ${file_path} ${file_name} ${file_content}= create_fake_doc
  2133 + ${doc_id}= get_id_from_string ${file_name}
  2134 + ${bid_document_data}= Create Dictionary
  2135 + ... doc_name=${file_name}
  2136 + ... doc_content=${file_content}
  2137 + ... doc_id=${doc_id}
  2138 + Run As ${username} Завантажити документ в ставку обгрунтування аномально низької ціни ${file_path} ${TENDER['TENDER_UAID']} ${doc_name} ${doc_type}
  2139 + Set To Dictionary ${USERS.users['${username}']} bid_document=${bid_document_data}
  2140 + #Set To Dictionary ${USERS.users['${username}']} bidresponses=${bid_doc_upload}
  2141 + #Set To Dictionary ${USERS.users['${username}'].bidresponses} bid_doc_upload=${bid_doc_upload}
  2142 + Remove File ${file_path}
  2143 +
  2144 +
2130 2145 Можливість змінити документацію цінової пропозиції користувачем ${username}
2131 2146 ${file_path} ${file_name} ${file_content}= create_fake_doc
2132 2147 ${doc_id}= get_id_from_string ${file_name}
... ... @@ -2150,6 +2165,18 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status
2150 2165 Set To Dictionary ${USERS.users['${username}']} bid_document_modified=${bid_document_modified_data}
2151 2166 Remove File ${file_path}
2152 2167
  2168 +
  2169 +Можливість змінити документацію обгрунтування аномально низької ціни користувачем ${username}
  2170 + ${file_path} ${file_name} ${file_content}= create_fake_doc
  2171 + ${doc_id}= get_id_from_string ${file_name}
  2172 + ${bid_document_modified_data}= Create Dictionary
  2173 + ... doc_name=${file_name}
  2174 + ... doc_content=${file_content}
  2175 + ... doc_id=${doc_id}
  2176 + Run As ${username} Змінити документ в ставці при обгрунтуванні аномально низької ціни ${TENDER['TENDER_UAID']} ${file_path} ${USERS.users['${username}']['bid_document']['doc_id']}
  2177 + Set To Dictionary ${USERS.users['${username}']} bid_document_modified=${bid_document_modified_data}
  2178 + Remove File ${file_path}
  2179 +
2153 2180 ##############################################################################################
2154 2181 # Cancellations
2155 2182 ##############################################################################################
... ...
... ... @@ -1688,6 +1688,25 @@ Library openprocurement_client.utils
1688 1688 [Return] ${uploaded_file}
1689 1689
1690 1690
  1691 +Завантажити документ в ставку обгрунтування аномально низької ціни
  1692 + [Arguments] ${username} ${path} ${tender_uaid} ${doc_name}=documents ${doc_type}=${None}
  1693 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  1694 + ${bid_id}= set variable ${tender.data.awards[0].bid_id}
  1695 + ${tender}= set_access_key ${tender} ${USERS.users['${username}']['access_token']}
  1696 + ${response}= Call Method ${USERS.users['${username}'].client} upload_bid_document
  1697 + ... ${path}
  1698 + ... ${tender.data.id}
  1699 + ... ${bid_id}
  1700 + ... doc_type=${doc_type}
  1701 + ... access_token=${tender.access.token}
  1702 + ... subitem_name=${doc_name}
  1703 + ${uploaded_file} = Create Dictionary
  1704 + ... filepath=${path}
  1705 + ... upload_response=${response}
  1706 + Log object data ${uploaded_file}
  1707 + [Return] ${uploaded_file}
  1708 +
  1709 +
1691 1710 Змінити документ в ставці
1692 1711 [Arguments] ${username} ${tender_uaid} ${path} ${doc_id} ${doc_type}=documents
1693 1712 ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid'].data.id}
... ... @@ -1728,6 +1747,26 @@ Library openprocurement_client.utils
1728 1747 [Return] ${uploaded_file}
1729 1748
1730 1749
  1750 +Змінити документ в ставці при обгрунтуванні аномально низької ціни
  1751 + [Arguments] ${username} ${tender_uaid} ${path} ${doc_id} ${doc_type}=documents
  1752 + ${bid_id}= openprocurement_client.Отримати інформацію із пропозиції ${username} ${tender_uaid} id
  1753 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  1754 + ${tender}= set_access_key ${tender} ${USERS.users['${username}']['access_token']}
  1755 + ${bid}= openprocurement_client.Отримати пропозицію ${username} ${tender_uaid}
  1756 + ${bid_doc}= get_document_by_id ${bid.data} ${doc_id}
  1757 + ${response}= Call Method ${USERS.users['${username}'].client} update_bid_document
  1758 + ... ${path}
  1759 + ... ${tender.data.id}
  1760 + ... ${bid_id}
  1761 + ... ${bid_doc['id']}
  1762 + ... access_token=${tender.access.token}
  1763 + ${uploaded_file} = Create Dictionary
  1764 + ... filepath=${path}
  1765 + ... upload_response=${response}
  1766 + Log object data ${uploaded_file}
  1767 + [Return] ${uploaded_file}
  1768 +
  1769 +
1731 1770 Змінити документацію в ставці
1732 1771 [Arguments] ${username} ${tender_uaid} ${doc_data} ${doc_id}
1733 1772 ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid'].data.id}
... ...
... ... @@ -303,11 +303,19 @@ def test_tender_data_planning(params):
303 303 }
304 304 },
305 305 "procuringEntity": {
  306 + #"kind": "general",
306 307 "identifier": {
307 308 "scheme": "UA-EDR",
308 309 "id": random.choice(["13313462", "00037256"]),
309 310 "legalName": random.choice([u"Київський Тестовий Ліцей", u"Київська Тестова міська клінічна лікарня"]),
310 311 },
  312 + "address": {
  313 + "countryName": "Україна",
  314 + "postalCode": "01220",
  315 + "region": "м. Київ",
  316 + "streetAddress": "вул. Банкова, 11, корпус 1",
  317 + "locality": "м. Київ"
  318 + }
311 319 },
312 320 "tender": {
313 321 "procurementMethod": "",
... ... @@ -321,6 +329,12 @@ def test_tender_data_planning(params):
321 329 "buyers": []
322 330 }
323 331 data["procuringEntity"]["name"] = data["procuringEntity"]["identifier"]["legalName"]
  332 + if params.get("mode") == "aboveThresholdUA.defense":
  333 + data["procuringEntity"]["kind"] = "defense"
  334 + elif params.get("mode") in ["belowThreshold", "reporting"]:
  335 + data["procuringEntity"]["kind"] = "other"
  336 + else:
  337 + data["procuringEntity"]["kind"] = random.choice(["general", "special", "central", "authority", "social"])
324 338 buyers = test_buyers_data()
325 339 buyers["name"] = buyers["identifier"]["legalName"]
326 340 data['buyers'].append(buyers)
... ... @@ -377,22 +391,46 @@ def test_tender_data_limited(params, plan_data):
377 391 data.update({"procurementMethodType": params['mode'], "procurementMethod": "limited"})
378 392 if params['mode'] == "negotiation":
379 393 cause_variants = (
380   - "artContestIP",
381   - "noCompetition",
  394 + "resolvingInsolvency",
  395 + "artPurchase",
  396 + "contestWinner",
  397 + "technicalReasons",
  398 + "intProperty",
  399 + "lastHope",
382 400 "twiceUnsuccessful",
383 401 "additionalPurchase",
384 402 "additionalConstruction",
385 403 "stateLegalServices"
386 404 )
387 405 cause = fake.random_element(cause_variants)
  406 + data.update({
  407 + "cause": cause,
  408 + "causeDescription": fake.description()
  409 + })
388 410 elif params['mode'] == "negotiation.quick":
389   - cause_variants = ('quick',)
390   - if params['mode'] in ("negotiation", "negotiation.quick"):
  411 + cause_variants = (
  412 + "resolvingInsolvency",
  413 + "artPurchase",
  414 + "contestWinner",
  415 + "technicalReasons",
  416 + "intProperty",
  417 + "lastHope",
  418 + "twiceUnsuccessful",
  419 + "additionalPurchase",
  420 + "additionalConstruction",
  421 + "stateLegalServices",
  422 + "emergency",
  423 + "humanitarianAid",
  424 + "contractCancelled",
  425 + "activeComplaint"
  426 + )
391 427 cause = fake.random_element(cause_variants)
392 428 data.update({
393 429 "cause": cause,
394 430 "causeDescription": fake.description()
395 431 })
  432 + #if params['mode'] in ("negotiation", "negotiation.quick"):
  433 + #cause = fake.random_element(cause_variants)
396 434 return munchify(data)
397 435
398 436
... ... @@ -1066,10 +1104,18 @@ def invalid_gmdn_data():
1066 1104
1067 1105 def test_buyers_data():
1068 1106 buyers = {
  1107 + "kind": "general",
1069 1108 "identifier": {
1070 1109 "scheme": "UA-EDR",
1071 1110 "id": random.choice(["13313462", "00037256"]),
1072 1111 "legalName": random.choice([u"Київський Тестовий Ліцей", u"Київська Тестова міська клінічна лікарня"]),
  1112 + },
  1113 + "address": {
  1114 + "countryName": "Україна",
  1115 + "postalCode": "01220",
  1116 + "region": "м. Київ",
  1117 + "streetAddress": "вул. Банкова, 11, корпус 1",
  1118 + "locality": "м. Київ"
1073 1119 }
1074 1120 }
1075 1121 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