Commit 3364be674f4de8f24f42f77e652ffe5d36aca94a
Committed by
GitHub
Merge pull request #258 from ProzorroUKR/dev_prozorro_2
Dev prozorro 2
Showing
7 changed files
with
168 additions
and
8 deletions
| ... | ... | @@ -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 | ... | ... |
robot_tests_arguments/alp.txt
0 → 100644
| 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