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,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
  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