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,6 +2112,21 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status | ||
2112 | Remove File ${file_path} | 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 | Можливість змінити документацію цінової пропозиції користувачем ${username} | 2130 | Можливість змінити документацію цінової пропозиції користувачем ${username} |
2116 | ${file_path} ${file_name} ${file_content}= create_fake_doc | 2131 | ${file_path} ${file_name} ${file_content}= create_fake_doc |
2117 | ${doc_id}= get_id_from_string ${file_name} | 2132 | ${doc_id}= get_id_from_string ${file_name} |
@@ -2135,6 +2150,18 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status | @@ -2135,6 +2150,18 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status | ||
2135 | Set To Dictionary ${USERS.users['${username}']} bid_document_modified=${bid_document_modified_data} | 2150 | Set To Dictionary ${USERS.users['${username}']} bid_document_modified=${bid_document_modified_data} |
2136 | Remove File ${file_path} | 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 | # Cancellations | 2166 | # Cancellations |
2140 | ############################################################################################## | 2167 | ############################################################################################## |
@@ -1687,6 +1687,25 @@ Library openprocurement_client.utils | @@ -1687,6 +1687,25 @@ Library openprocurement_client.utils | ||
1687 | [Return] ${uploaded_file} | 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 | [Arguments] ${username} ${tender_uaid} ${path} ${doc_id} ${doc_type}=documents | 1710 | [Arguments] ${username} ${tender_uaid} ${path} ${doc_id} ${doc_type}=documents |
1692 | ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid'].data.id} | 1711 | ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid'].data.id} |
@@ -1727,6 +1746,26 @@ Library openprocurement_client.utils | @@ -1727,6 +1746,26 @@ Library openprocurement_client.utils | ||
1727 | [Return] ${uploaded_file} | 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 | [Arguments] ${username} ${tender_uaid} ${doc_data} ${doc_id} | 1770 | [Arguments] ${username} ${tender_uaid} ${doc_data} ${doc_id} |
1732 | ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid'].data.id} | 1771 | ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid'].data.id} |
@@ -302,11 +302,19 @@ def test_tender_data_planning(params): | @@ -302,11 +302,19 @@ def test_tender_data_planning(params): | ||
302 | } | 302 | } |
303 | }, | 303 | }, |
304 | "procuringEntity": { | 304 | "procuringEntity": { |
305 | + "kind": "general", | ||
305 | "identifier": { | 306 | "identifier": { |
306 | "scheme": "UA-EDR", | 307 | "scheme": "UA-EDR", |
307 | "id": random.choice(["13313462", "00037256"]), | 308 | "id": random.choice(["13313462", "00037256"]), |
308 | "legalName": random.choice([u"Київський Тестовий Ліцей", u"Київська Тестова міська клінічна лікарня"]), | 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 | "tender": { | 319 | "tender": { |
312 | "procurementMethod": "", | 320 | "procurementMethod": "", |
@@ -374,22 +382,46 @@ def test_tender_data_limited(params, plan_data): | @@ -374,22 +382,46 @@ def test_tender_data_limited(params, plan_data): | ||
374 | data.update({"procurementMethodType": params['mode'], "procurementMethod": "limited"}) | 382 | data.update({"procurementMethodType": params['mode'], "procurementMethod": "limited"}) |
375 | if params['mode'] == "negotiation": | 383 | if params['mode'] == "negotiation": |
376 | cause_variants = ( | 384 | cause_variants = ( |
377 | - "artContestIP", | ||
378 | - "noCompetition", | 385 | + "resolvingInsolvency", |
386 | + "artPurchase", | ||
387 | + "contestWinner", | ||
388 | + "technicalReasons", | ||
389 | + "intProperty", | ||
390 | + "lastHope", | ||
379 | "twiceUnsuccessful", | 391 | "twiceUnsuccessful", |
380 | "additionalPurchase", | 392 | "additionalPurchase", |
381 | "additionalConstruction", | 393 | "additionalConstruction", |
382 | "stateLegalServices" | 394 | "stateLegalServices" |
383 | ) | 395 | ) |
384 | cause = fake.random_element(cause_variants) | 396 | cause = fake.random_element(cause_variants) |
397 | + data.update({ | ||
398 | + "cause": cause, | ||
399 | + "causeDescription": fake.description() | ||
400 | + }) | ||
385 | elif params['mode'] == "negotiation.quick": | 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 | cause = fake.random_element(cause_variants) | 418 | cause = fake.random_element(cause_variants) |
389 | data.update({ | 419 | data.update({ |
390 | "cause": cause, | 420 | "cause": cause, |
391 | "causeDescription": fake.description() | 421 | "causeDescription": fake.description() |
392 | }) | 422 | }) |
423 | + #if params['mode'] in ("negotiation", "negotiation.quick"): | ||
424 | + #cause = fake.random_element(cause_variants) | ||
393 | return munchify(data) | 425 | return munchify(data) |
394 | 426 | ||
395 | 427 | ||
@@ -1026,10 +1058,18 @@ def invalid_gmdn_data(): | @@ -1026,10 +1058,18 @@ def invalid_gmdn_data(): | ||
1026 | 1058 | ||
1027 | def test_buyers_data(): | 1059 | def test_buyers_data(): |
1028 | buyers = { | 1060 | buyers = { |
1061 | + "kind": "general", | ||
1029 | "identifier": { | 1062 | "identifier": { |
1030 | "scheme": "UA-EDR", | 1063 | "scheme": "UA-EDR", |
1031 | "id": random.choice(["13313462", "00037256"]), | 1064 | "id": random.choice(["13313462", "00037256"]), |
1032 | "legalName": random.choice([u"Київський Тестовий Ліцей", u"Київська Тестова міська клінічна лікарня"]), | 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 | return munchify(buyers) | 1075 | return munchify(buyers) |
@@ -182,8 +182,10 @@ Get Broker Property By Username | @@ -182,8 +182,10 @@ Get Broker Property By Username | ||
182 | Run Keyword And Ignore Error Set To Dictionary ${artifact} tender_owner_access_token=${USERS.users['${tender_owner}'].access_token} | 182 | Run Keyword And Ignore Error Set To Dictionary ${artifact} tender_owner_access_token=${USERS.users['${tender_owner}'].access_token} |
183 | Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_access_token=${USERS.users['${provider}'].access_token} | 183 | Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_access_token=${USERS.users['${provider}'].access_token} |
184 | Run Keyword And Ignore Error Set To Dictionary ${artifact} provider1_access_token=${USERS.users['${provider1}'].access_token} | 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 | Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_bid_id=${USERS.users['${provider}'].bid_id} | 186 | Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_bid_id=${USERS.users['${provider}'].bid_id} |
186 | Run Keyword And Ignore Error Set To Dictionary ${artifact} provider1_bid_id=${USERS.users['${provider1}'].bid_id} | 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 | Run Keyword And Ignore Error Set To Dictionary ${artifact} | 189 | Run Keyword And Ignore Error Set To Dictionary ${artifact} |
188 | ... tender_file_properties=${USERS.users['${tender_owner}'].tender_document.file_properties} | 190 | ... tender_file_properties=${USERS.users['${tender_owner}'].tender_document.file_properties} |
189 | ... lot_file_properties=${USERS.users['${tender_owner}'].lots_documents[0].file_properties} | 191 | ... lot_file_properties=${USERS.users['${tender_owner}'].lots_documents[0].file_properties} |
@@ -21,6 +21,9 @@ ${VAT_INCLUDED} ${True} | @@ -21,6 +21,9 @@ ${VAT_INCLUDED} ${True} | ||
21 | ${ROAD_INDEX} ${False} | 21 | ${ROAD_INDEX} ${False} |
22 | ${GMDN_INDEX} ${False} | 22 | ${GMDN_INDEX} ${False} |
23 | ${PLAN_TENDER} ${True} | 23 | ${PLAN_TENDER} ${True} |
24 | +${BID_AMOUNT_1} ${500} | ||
25 | +${BID_AMOUNT_2} ${1000} | ||
26 | +${BID_AMOUNT_3} ${1500} | ||
24 | 27 | ||
25 | *** Test Cases *** | 28 | *** Test Cases *** |
26 | Можливість оголосити тендер | 29 | Можливість оголосити тендер |
@@ -2044,7 +2047,7 @@ ${PLAN_TENDER} ${True} | @@ -2044,7 +2047,7 @@ ${PLAN_TENDER} ${True} | ||
2044 | ... critical | 2047 | ... critical |
2045 | [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} | 2048 | [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} |
2046 | [Teardown] Оновити LAST_MODIFICATION_DATE | 2049 | [Teardown] Оновити LAST_MODIFICATION_DATE |
2047 | - Можливість подати цінову пропозицію на суму 500 користувачем ${provider} | 2050 | + Можливість подати цінову пропозицію на суму ${BID_AMOUNT_1} користувачем ${provider} |
2048 | 2051 | ||
2049 | 2052 | ||
2050 | Можливість зменшити пропозицію на 5% першим учасником | 2053 | Можливість зменшити пропозицію на 5% першим учасником |
@@ -2096,7 +2099,7 @@ ${PLAN_TENDER} ${True} | @@ -2096,7 +2099,7 @@ ${PLAN_TENDER} ${True} | ||
2096 | ... critical | 2099 | ... critical |
2097 | [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} | 2100 | [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} |
2098 | [Teardown] Оновити LAST_MODIFICATION_DATE | 2101 | [Teardown] Оновити LAST_MODIFICATION_DATE |
2099 | - Можливість подати цінову пропозицію на суму 1000 користувачем ${provider1} | 2102 | + Можливість подати цінову пропозицію на суму ${BID_AMOUNT_2} користувачем ${provider1} |
2100 | 2103 | ||
2101 | 2104 | ||
2102 | Можливість зменшити пропозицію на 5% другим учасником | 2105 | Можливість зменшити пропозицію на 5% другим учасником |
@@ -2127,7 +2130,7 @@ ${PLAN_TENDER} ${True} | @@ -2127,7 +2130,7 @@ ${PLAN_TENDER} ${True} | ||
2127 | ... critical | 2130 | ... critical |
2128 | [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} | 2131 | [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} |
2129 | [Teardown] Оновити LAST_MODIFICATION_DATE | 2132 | [Teardown] Оновити LAST_MODIFICATION_DATE |
2130 | - Можливість подати цінову пропозицію на суму 1500 користувачем ${provider2} | 2133 | + Можливість подати цінову пропозицію на суму ${BID_AMOUNT_3} користувачем ${provider2} |
2131 | 2134 | ||
2132 | ############################################################################################## | 2135 | ############################################################################################## |
2133 | # ABOVETRHESHOLD BIDDING | 2136 | # ABOVETRHESHOLD BIDDING |
@@ -228,7 +228,15 @@ ${award_index} ${0} | @@ -228,7 +228,15 @@ ${award_index} ${0} | ||
228 | Повідомлення в awards про невіповідність пропозиції 0 | 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 | [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | 240 | [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції |
233 | ... provider | 241 | ... provider |
234 | ... ${USERS.users['${provider}'].broker} | 242 | ... ${USERS.users['${provider}'].broker} |
@@ -248,6 +256,26 @@ ${award_index} ${0} | @@ -248,6 +256,26 @@ ${award_index} ${0} | ||
248 | Можливість змінити документацію цінової пропозиції при усуненні невідповідності користувачем ${provider} | 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 | [Tags] ${USERS.users['${tender_owner}'].broker}: Перевірка користувача по ЄДРПОУ | 280 | [Tags] ${USERS.users['${tender_owner}'].broker}: Перевірка користувача по ЄДРПОУ |
253 | ... tender_owner | 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