Commit fd7af160c873b8f728a131d19a3dc779396ad3c5
Committed by
GitHub
Merge pull request #342 from ProzorroUKR/CS-9765
CS-9765
Showing
20 changed files
with
212 additions
and
52 deletions
| ... | ... | @@ -33,6 +33,7 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status |
| 33 | 33 | ... gmdn_index=${${GMDN_INDEX}} |
| 34 | 34 | ... plan_tender=${${PLAN_TENDER}} |
| 35 | 35 | ... article_17=${${ARTICLE_17}} |
| 36 | + ... criteria_guarantee=${${CRITERIA_GUARANTEE}} | |
| 36 | 37 | ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE} |
| 37 | 38 | ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND} |
| 38 | 39 | Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE} |
| ... | ... | @@ -44,14 +45,14 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status |
| 44 | 45 | Log ${plan_data} |
| 45 | 46 | ${tender_data}= Підготувати дані для створення тендера ${tender_parameters} ${plan_data} |
| 46 | 47 | ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_data} |
| 47 | - ${article_17_data}= Run keyword If ${ARTICLE_17} == True Підготувати дані по критеріям статті 17 | |
| 48 | 48 | ${TENDER_UAID}= Run keyword If ${ARTICLE_17} == True Run As ${tender_owner} Створити тендер з критеріями |
| 49 | 49 | ... ${adapted_data} |
| 50 | 50 | ... ${ARTIFACT.tender_uaid} |
| 51 | - ... ${article_17_data} | |
| 51 | + ... ${CRITERIA_GUARANTEE} | |
| 52 | 52 | ... ELSE Run As ${tender_owner} Створити тендер |
| 53 | 53 | ... ${adapted_data} |
| 54 | 54 | ... ${ARTIFACT.tender_uaid} |
| 55 | + ... ${CRITERIA_GUARANTEE} | |
| 55 | 56 | Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data} |
| 56 | 57 | Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} |
| 57 | 58 | |
| ... | ... | @@ -2358,6 +2359,21 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status |
| 2358 | 2359 | Set To Dictionary ${USERS.users['${username}']} bid_document_modified=${bid_document_modified_data} |
| 2359 | 2360 | Remove File ${file_path} |
| 2360 | 2361 | |
| 2362 | + | |
| 2363 | +Можливість завантажити підтвердження виконання контракту в пропозицію учасника | |
| 2364 | + [Arguments] ${username} ${tender_uaid} | |
| 2365 | + Log ${username} | |
| 2366 | + Log ${tender_uaid} | |
| 2367 | + Log Many ${USERS.users['${username}'].id_map} | |
| 2368 | + ${bid}= openprocurement_client.Отримати пропозицію ${username} ${tender_uaid} | |
| 2369 | + Log ${bid} | |
| 2370 | + ${bid_doc_id}= get_from_object ${bid.data} documents[0].id | |
| 2371 | + Log ${bid_doc_id} | |
| 2372 | + ${bid_doc_title}= get_from_object ${bid.data} documents[0].title | |
| 2373 | + Log ${bid_doc_title} | |
| 2374 | + ${contract_response}= Підготувати дані по гарантії виконання контракту ${bid_doc_id} ${bid_doc_title} | |
| 2375 | + Run As ${username} Завантажити відповідь на критерій гарантії виконання контракту ${tender_uaid} ${contract_response} | |
| 2376 | + | |
| 2361 | 2377 | ############################################################################################## |
| 2362 | 2378 | # Cancellations |
| 2363 | 2379 | ############################################################################################## | ... | ... |
| ... | ... | @@ -207,6 +207,35 @@ Library Collections |
| 207 | 207 | ${participationUrl}= Get Variable Value ${object_with_url['participationUrl']} |
| 208 | 208 | [Return] ${participationUrl} |
| 209 | 209 | |
| 210 | + | |
| 211 | +Отримати поточного Переможця тендера | |
| 212 | + ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact.yaml | |
| 213 | + ${ARTIFACT}= load_data_from ${file_path} | |
| 214 | + Log ${ARTIFACT} | |
| 215 | + ${provider}= get variable value ${provider_bid_id} ${ARTIFACT.provider_bid_id} | |
| 216 | + Log ${provider} | |
| 217 | + ${provider1}= get variable value ${provider1_bid_id} ${ARTIFACT.provider1_bid_id} | |
| 218 | + Log ${provider1} | |
| 219 | + ${provider2}= get variable value ${provider2_bid_id} ${ARTIFACT.provider2_bid_id} | |
| 220 | + Log ${provider2} | |
| 221 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${tender_owner} ${TENDER['TENDER_UAID']} | |
| 222 | + Log ${tender} | |
| 223 | + ${award}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data.data.awards[-1]} | |
| 224 | + Log ${award} | |
| 225 | + ${award.bid_id}= Encode String To Bytes ${award.bid_id} UTF-8 | |
| 226 | + Log ${award.bid_id} | |
| 227 | + ${status_1}= run keyword and return status Should Be Equal ${provider} ${award.bid_id} | |
| 228 | + log ${status_1} | |
| 229 | + ${status_2}= run keyword and return status Should Be Equal ${provider1} ${award.bid_id} | |
| 230 | + log ${status_2} | |
| 231 | + ${status_3}= run keyword and return status Should Be Equal ${provider2} ${award.bid_id} | |
| 232 | + log ${status_3} | |
| 233 | + ${username}= run keyword if ${status_1} == ${True} set variable Tender_User | |
| 234 | + ... ELSE IF ${status_2} == ${True} set variable Tender_User1 | |
| 235 | + ... ELSE set variable Tender_User2 | |
| 236 | + Log ${username} | |
| 237 | + [Return] ${username} | |
| 238 | + | |
| 210 | 239 | ############################################################################## |
| 211 | 240 | # Tender operations |
| 212 | 241 | ############################################################################## |
| ... | ... | @@ -223,7 +252,7 @@ Library Collections |
| 223 | 252 | |
| 224 | 253 | |
| 225 | 254 | Створити тендер |
| 226 | - [Arguments] ${username} ${tender_data} ${plan_uaid} | |
| 255 | + [Arguments] ${username} ${tender_data} ${plan_uaid} ${CRITERIA_GUARANTEE}=None | |
| 227 | 256 | ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml |
| 228 | 257 | ${ARTIFACT}= load_data_from ${file_path} |
| 229 | 258 | Log ${ARTIFACT.tender_owner_access_token} |
| ... | ... | @@ -234,6 +263,11 @@ Library Collections |
| 234 | 263 | ... access_token=${ARTIFACT.tender_owner_access_token} |
| 235 | 264 | Log ${tender} |
| 236 | 265 | ${access_token}= Get Variable Value ${tender.access.token} |
| 266 | + ${criteria_guarantee_data}= Run keyword If ${CRITERIA_GUARANTEE} == True Підготувати дані по критеріям гарантії | |
| 267 | + ${tender_criteria_guarantee}= Run keyword If ${CRITERIA_GUARANTEE} == True Call Method ${USERS.users['${username}'].client} create_criteria | |
| 268 | + ... ${tender.data.id} | |
| 269 | + ... ${criteria_guarantee_data} | |
| 270 | + ... access_token=${tender.access.token} | |
| 237 | 271 | ${status}= Set Variable If 'open' in '${MODE}' active.tendering ${EMPTY} |
| 238 | 272 | ${status}= Set Variable If 'below' in '${MODE}' active.enquiries ${status} |
| 239 | 273 | ${status}= Set Variable If 'selection' in '${MODE}' draft.pending ${status} |
| ... | ... | @@ -253,7 +287,7 @@ Library Collections |
| 253 | 287 | |
| 254 | 288 | |
| 255 | 289 | Створити тендер з критеріями |
| 256 | - [Arguments] ${username} ${tender_data} ${plan_uaid} ${article_17_data} | |
| 290 | + [Arguments] ${username} ${tender_data} ${plan_uaid} ${CRITERIA_GUARANTEE} #${article_17_data} | |
| 257 | 291 | ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml |
| 258 | 292 | ${ARTIFACT}= load_data_from ${file_path} |
| 259 | 293 | Log ${ARTIFACT.tender_owner_access_token} |
| ... | ... | @@ -264,10 +298,17 @@ Library Collections |
| 264 | 298 | ... access_token=${ARTIFACT.tender_owner_access_token} |
| 265 | 299 | Log ${tender} |
| 266 | 300 | ${access_token}= Get Variable Value ${tender.access.token} |
| 301 | + ${article_17_data}= Підготувати дані по критеріям статті 17 | |
| 267 | 302 | ${tender_criteria}= Call Method ${USERS.users['${username}'].client} create_criteria |
| 268 | 303 | ... ${tender.data.id} |
| 269 | 304 | ... ${article_17_data} |
| 270 | 305 | ... access_token=${tender.access.token} |
| 306 | + Log ${CRITERIA_GUARANTEE} | |
| 307 | + ${criteria_guarantee_data}= Run keyword If ${CRITERIA_GUARANTEE} == True Підготувати дані по критеріям гарантії | |
| 308 | + ${tender_criteria_guarantee}= Run keyword If ${CRITERIA_GUARANTEE} == True Call Method ${USERS.users['${username}'].client} create_criteria | |
| 309 | + ... ${tender.data.id} | |
| 310 | + ... ${criteria_guarantee_data} | |
| 311 | + ... access_token=${tender.access.token} | |
| 271 | 312 | ${status}= Set Variable If 'open' in '${MODE}' active.tendering ${EMPTY} |
| 272 | 313 | ${status}= Set Variable If 'below' in '${MODE}' active.enquiries ${status} |
| 273 | 314 | ${status}= Set Variable If 'selection' in '${MODE}' draft.pending ${status} |
| ... | ... | @@ -1901,6 +1942,27 @@ Library Collections |
| 1901 | 1942 | [return] ${reply} |
| 1902 | 1943 | |
| 1903 | 1944 | |
| 1945 | +Завантажити відповідь на критерій гарантії виконання контракту | |
| 1946 | + [Arguments] ${username} ${tender_uaid} ${contract_response} | |
| 1947 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | |
| 1948 | + Log ${tender} | |
| 1949 | + ${bid}= openprocurement_client.Отримати пропозицію ${username} ${tender_uaid} | |
| 1950 | + Log ${bid} | |
| 1951 | + ${bid_id}= openprocurement_client.Отримати інформацію із пропозиції ${username} ${tender_uaid} id | |
| 1952 | + Log ${bid_id} | |
| 1953 | + ${req_id}= get_from_object ${bid.data} requirementResponses[-1].id | |
| 1954 | + Log ${req_id} | |
| 1955 | + ${token}= Get Variable Value ${USERS.users['${username}'].access_token} | |
| 1956 | + Log ${token} | |
| 1957 | + ${reply}= Call Method ${USERS.users['${username}'].client} create_bid_criteria_contract_guarantee_response | |
| 1958 | + ... ${tender.data.id} | |
| 1959 | + ... ${contract_response} | |
| 1960 | + ... ${bid_id} | |
| 1961 | + ... ${req_id} | |
| 1962 | + ... ${token} | |
| 1963 | + ${reply}= munch_dict arg=${reply} | |
| 1964 | + [Return] ${reply} | |
| 1965 | + | |
| 1904 | 1966 | ############################################################################## |
| 1905 | 1967 | # QUALIFICATION |
| 1906 | 1968 | ############################################################################## | ... | ... |
| ... | ... | @@ -189,10 +189,6 @@ def test_tender_data(params, |
| 189 | 189 | "currency": u"UAH", |
| 190 | 190 | "valueAddedTaxIncluded": vat_included |
| 191 | 191 | }, |
| 192 | - "guarantee": { | |
| 193 | - "amount": value_amount * 0.75, | |
| 194 | - "currency": u"UAH", | |
| 195 | - }, | |
| 196 | 192 | "minimalStep": { |
| 197 | 193 | "amount": round(random.uniform(0.005, 0.03) * value_amount, 2), |
| 198 | 194 | "currency": u"UAH", |
| ... | ... | @@ -201,6 +197,8 @@ def test_tender_data(params, |
| 201 | 197 | "items": [], |
| 202 | 198 | "features": [] |
| 203 | 199 | } |
| 200 | + if params.get("mode") in ["belowThreshold", "openua", "openeu", "esco"]: | |
| 201 | + data["guarantee"] = test_data_guarantee(value_amount) | |
| 204 | 202 | if params.get("mode") == "open_framework": |
| 205 | 203 | data["mainProcurementCategory"] = random.choice(['goods', 'services']) |
| 206 | 204 | elif params.get("mode") == "open_competitive_dialogue": |
| ... | ... | @@ -1270,6 +1268,20 @@ def test_article_17_data(): |
| 1270 | 1268 | }) |
| 1271 | 1269 | |
| 1272 | 1270 | |
| 1271 | +def test_criteria_guarantee_data(): | |
| 1272 | + criteria = fake.criteria_bid_contract_guarantee() | |
| 1273 | + return munchify({ | |
| 1274 | + "data": criteria | |
| 1275 | + }) | |
| 1276 | + | |
| 1277 | + | |
| 1278 | +def test_data_guarantee(value_amount): | |
| 1279 | + return munchify({ | |
| 1280 | + "amount": value_amount * 0.75, | |
| 1281 | + "currency": u"UAH" | |
| 1282 | + }) | |
| 1283 | + | |
| 1284 | + | |
| 1273 | 1285 | def test_data_bid_criteria(): |
| 1274 | 1286 | bid = munchify({ |
| 1275 | 1287 | "data": [] |
| ... | ... | @@ -1302,20 +1314,20 @@ def test_bid_criteria(tender_data, criteria_len, bid_data, bid_document): |
| 1302 | 1314 | for criteria in tender_data["data"]['criteria']: |
| 1303 | 1315 | if criteria.get('source') == 'tenderer': |
| 1304 | 1316 | for requirement in criteria['requirementGroups'][0]['requirements']: |
| 1305 | - mock = deepcopy(mock) | |
| 1306 | - mock["requirement"]["id"] = requirement["id"] | |
| 1307 | - mock["requirement"]["title"] = requirement["title"] | |
| 1317 | + mock_tenderer = deepcopy(mock) | |
| 1318 | + mock_tenderer["requirement"]["id"] = requirement["id"] | |
| 1319 | + mock_tenderer["requirement"]["title"] = requirement["title"] | |
| 1320 | + mock_tenderer["evidences"][0]["relatedDocument"]["id"] = bid_document["data"]["id"] | |
| 1321 | + mock_tenderer["evidences"][0]["relatedDocument"]["title"] = bid_document["data"]["title"] | |
| 1308 | 1322 | if criteria.get('title') == u'Мова (мови), якою (якими) повинні готуватися тендерні пропозиції': |
| 1309 | - del mock["evidences"][0] | |
| 1310 | - else: | |
| 1311 | - mock["evidences"][0]["relatedDocument"]["id"] = bid_document["data"]["id"] | |
| 1312 | - mock["evidences"][0]["relatedDocument"]["title"] = bid_document["data"]["title"] | |
| 1313 | - bid.data.append(mock) | |
| 1323 | + del mock_tenderer["evidences"][0] | |
| 1324 | + bid.data.append(mock_tenderer) | |
| 1314 | 1325 | elif criteria.get('source') == 'winner': |
| 1315 | 1326 | for requirement in criteria['requirementGroups'][0]['requirements']: |
| 1316 | 1327 | mock = deepcopy(mock) |
| 1317 | 1328 | mock["requirement"]["id"] = requirement["id"] |
| 1318 | 1329 | mock["requirement"]["title"] = requirement["title"] |
| 1330 | + del mock["evidences"][0] | |
| 1319 | 1331 | bid.data.append(mock) |
| 1320 | 1332 | else: |
| 1321 | 1333 | pass | ... | ... |
| ... | ... | @@ -182,10 +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 | + Run Keyword And Ignore Error Set To Dictionary ${artifact} provider2_access_token=${USERS.users['${provider2}'].access_token} | |
| 186 | 186 | Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_bid_id=${USERS.users['${provider}'].bid_id} |
| 187 | 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} | |
| 188 | + Run Keyword And Ignore Error Set To Dictionary ${artifact} provider2_bid_id=${USERS.users['${provider2}'].bid_id} | |
| 189 | 189 | Run Keyword And Ignore Error Set To Dictionary ${artifact} |
| 190 | 190 | ... tender_file_properties=${USERS.users['${tender_owner}'].tender_document.file_properties} |
| 191 | 191 | ... lot_file_properties=${USERS.users['${tender_owner}'].lots_documents[0].file_properties} |
| ... | ... | @@ -231,6 +231,8 @@ Get Broker Property By Username |
| 231 | 231 | Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider1}']} access_token=${ARTIFACT.provider1_access_token} |
| 232 | 232 | Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider}']} bid_id=${ARTIFACT.provider_bid_id} |
| 233 | 233 | Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider1}']} bid_id=${ARTIFACT.provider1_bid_id} |
| 234 | + Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider2}']} access_token=${ARTIFACT.provider2_access_token} | |
| 235 | + Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider2}']} bid_id=${ARTIFACT.provider2_bid_id} | |
| 234 | 236 | Set Suite Variable ${MODE} |
| 235 | 237 | Set Suite Variable ${lot_index} |
| 236 | 238 | Set Suite Variable ${TENDER} |
| ... | ... | @@ -456,6 +458,12 @@ Get Broker Property By Username |
| 456 | 458 | [Return] ${article_17_data} |
| 457 | 459 | |
| 458 | 460 | |
| 461 | +Підготувати дані по критеріям гарантії | |
| 462 | + ${criteria_guarantee_data}= test_criteria_guarantee_data | |
| 463 | + Log ${criteria_guarantee_data} | |
| 464 | + [Return] ${criteria_guarantee_data} | |
| 465 | + | |
| 466 | + | |
| 459 | 467 | Підготувати дані для відповіді на критерії в пропозиції |
| 460 | 468 | [Arguments] ${username} ${tender_data} ${bid_data} ${bid_data_document} |
| 461 | 469 | @{criteria}= get_from_object ${tender_data.data} criteria |
| ... | ... | @@ -488,6 +496,13 @@ Get Broker Property By Username |
| 488 | 496 | [Return] ${award_criteria} |
| 489 | 497 | |
| 490 | 498 | |
| 499 | +Підготувати дані по гарантії виконання контракту | |
| 500 | + [Arguments] ${bid_doc_id} ${bid_doc_title} | |
| 501 | + ${contract_response}= test_contract_criteria_response_data ${bid_doc_id} ${bid_doc_title} | |
| 502 | + Log ${contract_response} | |
| 503 | + [Return] ${contract_response} | |
| 504 | + | |
| 505 | + | |
| 491 | 506 | Адаптувати дані для оголошення тендера |
| 492 | 507 | [Arguments] ${tender_data} |
| 493 | 508 | # munchify is used to make deep copy of ${tender_data} | ... | ... |
| ... | ... | @@ -20,6 +20,7 @@ ${ROAD_INDEX} ${False} |
| 20 | 20 | ${GMDN_INDEX} ${False} |
| 21 | 21 | ${PLAN_TENDER} ${True} |
| 22 | 22 | ${ARTICLE_17} ${False} |
| 23 | +${CRITERIA_GUARANTEE} ${False} | |
| 23 | 24 | |
| 24 | 25 | *** Test Cases *** |
| 25 | 26 | ############################################################################################## | ... | ... |
| ... | ... | @@ -20,6 +20,7 @@ ${ROAD_INDEX} ${False} |
| 20 | 20 | ${GMDN_INDEX} ${False} |
| 21 | 21 | ${PLAN_TENDER} ${True} |
| 22 | 22 | ${ARTICLE_17} ${False} |
| 23 | +${CRITERIA_GUARANTEE} ${False} | |
| 23 | 24 | |
| 24 | 25 | *** Test Cases *** |
| 25 | 26 | ############################################################################################## | ... | ... |
| ... | ... | @@ -40,6 +40,7 @@ class OP_Provider(BaseProvider): |
| 40 | 40 | profiles_shortlistedfirms_empty = _fake_data.profiles_shortlistedfirms_empty |
| 41 | 41 | unknown_profile = _fake_data.unknown_profiles |
| 42 | 42 | criteria = _fake_data.criteria |
| 43 | + criteria_guarant = _fake_data.criteria_guarantee | |
| 43 | 44 | |
| 44 | 45 | @classmethod |
| 45 | 46 | def randomize_nb_elements(self, number=10, le=60, ge=140): |
| ... | ... | @@ -259,3 +260,7 @@ class OP_Provider(BaseProvider): |
| 259 | 260 | @classmethod |
| 260 | 261 | def criteria_article_17(self): |
| 261 | 262 | return deepcopy(self.criteria) |
| 263 | + | |
| 264 | + @classmethod | |
| 265 | + def criteria_bid_contract_guarantee(self): | |
| 266 | + return deepcopy(self.criteria_guarant) | ... | ... |
| ... | ... | @@ -8184,7 +8184,7 @@ |
| 8184 | 8184 | ], |
| 8185 | 8185 | |
| 8186 | 8186 | "criteria": [ |
| 8187 | - { | |
| 8187 | + { | |
| 8188 | 8188 | "title": "Вчинення злочинів, учинених з корисливих мотивів", |
| 8189 | 8189 | "description": "Службова (посадова) особа учасника процедури закупівлі, яка підписала тендерну пропозицію (або уповноважена на підписання договору в разі переговорної процедури закупівлі) або фізична особа, яка є учасником процедури закупівлі, не була засуджена за злочин, учинений з корисливих мотивів (зокрема, пов'язаний з хабарництвом та відмиванням коштів), судимість з якої знято або погашено у встановленому законом порядку", |
| 8190 | 8190 | "source": "tenderer", |
| ... | ... | @@ -8252,7 +8252,7 @@ |
| 8252 | 8252 | } |
| 8253 | 8253 | ] |
| 8254 | 8254 | }, |
| 8255 | - { | |
| 8255 | + { | |
| 8256 | 8256 | "title": "Вчинення економічних правопорушень", |
| 8257 | 8257 | "description": "Суб'єкт господарювання (учасник) протягом останніх трьох років не притягувався до відповідальності за порушення, передбачене пунктом 4 частини другої статті 6, пунктом 1 статті 50 Закону України \"Про захист економічної конкуренції\", у вигляді вчинення антиконкурентних узгоджених дій, що стосуються спотворення результатів тендерів", |
| 8258 | 8258 | "source": "tenderer", |
| ... | ... | @@ -8313,7 +8313,7 @@ |
| 8313 | 8313 | } |
| 8314 | 8314 | ] |
| 8315 | 8315 | }, |
| 8316 | - { | |
| 8316 | + { | |
| 8317 | 8317 | "title": "Вчинення корупційних правопорушень", |
| 8318 | 8318 | "description": "Відомості про юридичну особу, яка є учасником процедури закупівлі, не внесено до Єдиного державного реєстру осіб, які вчинили корупційні або пов'язані з корупцією правопорушення. Службову (посадову) особу учасника процедури закупівлі, яку уповноважено учасником представляти його інтереси під час проведення процедури закупівлі, фізичну особу, яка є учасником, не було притягнуто згідно із законом до відповідальності за вчинення корупційного правопорушення або правопорушення, пов'язаного з корупцією", |
| 8319 | 8319 | "source": "tenderer", |
| ... | ... | @@ -8376,7 +8376,7 @@ |
| 8376 | 8376 | } |
| 8377 | 8377 | ] |
| 8378 | 8378 | }, |
| 8379 | - { | |
| 8379 | + { | |
| 8380 | 8380 | "title": "Вчинення правопорушень, пов'язаних з використанням дитячої праці чи будь-якими формами торгівлі людьми", |
| 8381 | 8381 | "description": "Службова (посадова) особа учасника процедури закупівлі, яку уповноважено учасником представляти його інтереси під час проведення процедури закупівлі, фізичну особу, яка є учасником, не було притягнуто згідно із законом до відповідальності за вчинення правопорушення, пов'язаного з використанням дитячої праці чи будь-якими формами торгівлі людьми", |
| 8382 | 8382 | "source": "tenderer", |
| ... | ... | @@ -8417,7 +8417,7 @@ |
| 8417 | 8417 | } |
| 8418 | 8418 | ] |
| 8419 | 8419 | }, |
| 8420 | - { | |
| 8420 | + { | |
| 8421 | 8421 | "title": "Заборгованість зі сплати податків і зборів (обов'язкових платежів)", |
| 8422 | 8422 | "description": "Учасник процедури закупівлі не має заборгованості зі сплати податків і зборів (обов'язкових платежів)", |
| 8423 | 8423 | "source": "tenderer", |
| ... | ... | @@ -8520,7 +8520,7 @@ |
| 8520 | 8520 | } |
| 8521 | 8521 | ] |
| 8522 | 8522 | }, |
| 8523 | - { | |
| 8523 | + { | |
| 8524 | 8524 | "title": "Порушення справ про банкрутство", |
| 8525 | 8525 | "description": "Учасник процедури закупівлі не визнаний у встановленому законом порядку банкрутом та стосовно нього не відкрита ліквідаційна процедура", |
| 8526 | 8526 | "source": "tenderer", |
| ... | ... | @@ -8561,7 +8561,7 @@ |
| 8561 | 8561 | } |
| 8562 | 8562 | ] |
| 8563 | 8563 | }, |
| 8564 | - { | |
| 8564 | + { | |
| 8565 | 8565 | "title": "Виявлення факту зв'язку учасника з іншими учасниками процедури або замовником", |
| 8566 | 8566 | "description": "Тендерна пропозиція подана учасником конкурентної процедури закупівлі або участь у переговорній процедурі бере учасник, який є пов'язаною особою з іншими учасниками процедури закупівлі та/або з уповноваженою особою (особами), та/або з керівником замовника", |
| 8567 | 8567 | "source": "procuringEntity", |
| ... | ... | @@ -8601,7 +8601,7 @@ |
| 8601 | 8601 | } |
| 8602 | 8602 | ] |
| 8603 | 8603 | }, |
| 8604 | - { | |
| 8604 | + { | |
| 8605 | 8605 | "title": "Виявлення факту наміру впливу на прийняття рішення замовника", |
| 8606 | 8606 | "description": "Замовник має незаперечні докази того, що учасник процедури закупівлі пропонує, дає або погоджується дати прямо чи опосередковано будь-якій службовій (посадовій) особі замовника, іншого державного органу винагороду в будь-якій формі (пропозиція щодо найму на роботу, цінна річ, послуга тощо) з метою вплинути на прийняття рішення щодо визначення переможця процедури закупівлі або застосування замовником певної процедури закупівлі", |
| 8607 | 8607 | "source": "procuringEntity", |
| ... | ... | @@ -8641,7 +8641,7 @@ |
| 8641 | 8641 | } |
| 8642 | 8642 | ] |
| 8643 | 8643 | }, |
| 8644 | - { | |
| 8644 | + { | |
| 8645 | 8645 | "title": "Наявність інших підстав для відмови в участі у процедурі закупівлі", |
| 8646 | 8646 | "description": "У Єдиному державному реєстрі юридичних осіб, фізичних осіб - підприємців та громадських формувань присутня інформація, передбачена пунктом 9 частини другої статті 9 Закону України \"Про державну реєстрацію юридичних осіб, фізичних осіб - підприємців та громадських формувань\" (крім нерезидентів)", |
| 8647 | 8647 | "source": "tenderer", |
| ... | ... | @@ -8745,12 +8745,12 @@ |
| 8745 | 8745 | } |
| 8746 | 8746 | ] |
| 8747 | 8747 | }, |
| 8748 | - { | |
| 8749 | - "title": "Вид та умови надання забезпечення тендерних пропозицій", | |
| 8748 | + { | |
| 8749 | + "title": "Мова (мови), якою (якими) повинні готуватися тендерні пропозиції", | |
| 8750 | 8750 | "source": "tenderer", |
| 8751 | 8751 | "classification": { |
| 8752 | 8752 | "scheme": "ESPD211", |
| 8753 | - "id": "CRITERION.OTHER.BID.GUARANTEE" | |
| 8753 | + "id": "CRITERION.OTHER.BID.LANGUAGE" | |
| 8754 | 8754 | }, |
| 8755 | 8755 | "relatesTo": "tender", |
| 8756 | 8756 | "legislation": [ |
| ... | ... | @@ -8769,29 +8769,24 @@ |
| 8769 | 8769 | "description": "Учасник підтверджує, що", |
| 8770 | 8770 | "requirements": [ |
| 8771 | 8771 | { |
| 8772 | - "title": "Вид та умови надання забезпечення тендерних пропозицій", | |
| 8773 | - "description": "Умови забезпечення тендерної пропозиції: строк дії забезпечення тендерної пропозиції повинен бути протягом строку дії тендерної пропозиції, не менше ніж 90 днів з дати розкриття тендерних пропозицій електронною системою закупівель (відповідно до ст. 253 Цивільного кодексу України розраховується з наступного дня після розкриття тендерних пропозицій електронною системою закупівель), вид банківська гарантія", | |
| 8772 | + "title": "Мова тендерної пропозиції українська", | |
| 8774 | 8773 | "dataType": "boolean", |
| 8775 | - "expectedValue": "true", | |
| 8776 | - "eligibleEvidences": [ | |
| 8777 | - { | |
| 8778 | - "type": "document", | |
| 8779 | - "description": "документ що підтверджує банківську гарантію", | |
| 8780 | - "title": "Підтвердження банківської гарантії" | |
| 8781 | - } | |
| 8782 | - ] | |
| 8774 | + "expectedValue": "true" | |
| 8783 | 8775 | } |
| 8784 | 8776 | ] |
| 8785 | 8777 | |
| 8786 | 8778 | } |
| 8787 | 8779 | ] |
| 8788 | - }, | |
| 8789 | - { | |
| 8790 | - "title": "Мова (мови), якою (якими) повинні готуватися тендерні пропозиції", | |
| 8780 | + } | |
| 8781 | + ], | |
| 8782 | + | |
| 8783 | + "criteria_guarantee": [ | |
| 8784 | + { | |
| 8785 | + "title": "Вид та умови надання забезпечення тендерних пропозицій", | |
| 8791 | 8786 | "source": "tenderer", |
| 8792 | 8787 | "classification": { |
| 8793 | 8788 | "scheme": "ESPD211", |
| 8794 | - "id": "CRITERION.OTHER.BID.LANGUAGE" | |
| 8789 | + "id": "CRITERION.OTHER.BID.GUARANTEE" | |
| 8795 | 8790 | }, |
| 8796 | 8791 | "relatesTo": "tender", |
| 8797 | 8792 | "legislation": [ |
| ... | ... | @@ -8810,16 +8805,24 @@ |
| 8810 | 8805 | "description": "Учасник підтверджує, що", |
| 8811 | 8806 | "requirements": [ |
| 8812 | 8807 | { |
| 8813 | - "title": "Мова тендерної пропозиції українська", | |
| 8808 | + "title": "Вид та умови надання забезпечення тендерних пропозицій", | |
| 8809 | + "description": "Умови забезпечення тендерної пропозиції: строк дії забезпечення тендерної пропозиції повинен бути протягом строку дії тендерної пропозиції, не менше ніж 90 днів з дати розкриття тендерних пропозицій електронною системою закупівель (відповідно до ст. 253 Цивільного кодексу України розраховується з наступного дня після розкриття тендерних пропозицій електронною системою закупівель), вид банківська гарантія", | |
| 8814 | 8810 | "dataType": "boolean", |
| 8815 | - "expectedValue": "true" | |
| 8811 | + "expectedValue": "true", | |
| 8812 | + "eligibleEvidences": [ | |
| 8813 | + { | |
| 8814 | + "type": "document", | |
| 8815 | + "description": "документ що підтверджує банківську гарантію", | |
| 8816 | + "title": "Підтвердження банківської гарантії" | |
| 8817 | + } | |
| 8818 | + ] | |
| 8816 | 8819 | } |
| 8817 | 8820 | ] |
| 8818 | 8821 | |
| 8819 | 8822 | } |
| 8820 | 8823 | ] |
| 8821 | 8824 | }, |
| 8822 | - { | |
| 8825 | + { | |
| 8823 | 8826 | "title": "Розмір та умови надання забезпечення виконання договору", |
| 8824 | 8827 | "source": "winner", |
| 8825 | 8828 | "classification": { | ... | ... |
| ... | ... | @@ -4,7 +4,7 @@ Suite Setup Test Suite Setup |
| 4 | 4 | Suite Teardown Test Suite Teardown |
| 5 | 5 | |
| 6 | 6 | *** Variables *** |
| 7 | -@{USED_ROLES} tender_owner viewer provider | |
| 7 | +@{USED_ROLES} tender_owner viewer provider provider1 provider2 | |
| 8 | 8 | |
| 9 | 9 | ${award_index} ${0} |
| 10 | 10 | |
| ... | ... | @@ -454,3 +454,23 @@ ${award_index} ${0} |
| 454 | 454 | [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} |
| 455 | 455 | [Teardown] Оновити LAST_MODIFICATION_DATE |
| 456 | 456 | Дочекатися перевірки кваліфікацій ДФС ${tender_owner} ${TENDER['TENDER_UAID']} |
| 457 | + | |
| 458 | +############################################################################################## | |
| 459 | +# AWARDING | |
| 460 | +############################################################################################## | |
| 461 | + | |
| 462 | +Дочекатись початку періоду підписання угоди | |
| 463 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Очікування початку періоду підписання угоди | |
| 464 | + ... tender_owner | |
| 465 | + ... ${USERS.users['${tender_owner}'].broker} | |
| 466 | + ... wait_active_awarding_start | |
| 467 | + Дочекатись дати початку періоду підписання угоди ${tender_owner} ${TENDER['TENDER_UAID']} | |
| 468 | + | |
| 469 | + | |
| 470 | +Можливість додати підтверждення гарантії контракту | |
| 471 | + [Tags] Процес кваліфікації | |
| 472 | + ... qualification_add_contract_guarantee_document | |
| 473 | + ... critical | |
| 474 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
| 475 | + ${username}= Отримати поточного Переможця тендера | |
| 476 | + Можливість завантажити підтвердження виконання контракту в пропозицію учасника ${username} ${TENDER['TENDER_UAID']} | |
| \ No newline at end of file | ... | ... |
| ... | ... | @@ -20,6 +20,7 @@ ${ROAD_INDEX} ${False} |
| 20 | 20 | ${GMDN_INDEX} ${False} |
| 21 | 21 | ${PLAN_TENDER} ${True} |
| 22 | 22 | ${ARTICLE_17} ${False} |
| 23 | +${CRITERIA_GUARANTEE} ${False} | |
| 23 | 24 | |
| 24 | 25 | *** Test Cases *** |
| 25 | 26 | ############################################################################################## | ... | ... |
| ... | ... | @@ -96,7 +96,8 @@ from .initial_data import ( |
| 96 | 96 | test_qualification_criteria, |
| 97 | 97 | test_awards_criteria, |
| 98 | 98 | test_tender_data_simple_defense, |
| 99 | - test_contract_criteria_response_data | |
| 99 | + test_contract_criteria_response_data, | |
| 100 | + test_criteria_guarantee_data | |
| 100 | 101 | ) |
| 101 | 102 | from barbecue import chef |
| 102 | 103 | from restkit import request | ... | ... |
| ... | ... | @@ -7,6 +7,7 @@ |
| 7 | 7 | -v ITEM_MEAT:True |
| 8 | 8 | -v LOT_MEAT:True |
| 9 | 9 | |
| 10 | +-v CRITERIA_GUARANTEE:True | |
| 10 | 11 | |
| 11 | 12 | -i create_tender |
| 12 | 13 | -i plan_status_complete_view |
| ... | ... | @@ -52,10 +53,10 @@ |
| 52 | 53 | -i make_bid_before_tendering_period |
| 53 | 54 | -i make_bid_without_related_lot |
| 54 | 55 | -i make_bid_without_parameters |
| 55 | --i make_bid_by_provider | |
| 56 | +-i make_bid_with_criteria_by_provider | |
| 56 | 57 | -i modify_bid_by_provider |
| 57 | 58 | -i add_doc_to_bid_by_provider |
| 58 | --i make_bid_by_provider1 | |
| 59 | +-i make_bid_with_criteria_by_provider1 | |
| 59 | 60 | -i bid_view_in_tendering_period |
| 60 | 61 | |
| 61 | 62 | -i add_bid_doc_after_tendering_period_by_provider |
| ... | ... | @@ -75,6 +76,9 @@ |
| 75 | 76 | -i qualification_add_doc_to_second_award |
| 76 | 77 | -i qualification_approve_second_award |
| 77 | 78 | |
| 79 | +-i wait_active_awarding_start | |
| 80 | +-i qualification_add_contract_guarantee_document | |
| 81 | + | |
| 78 | 82 | -i contract_stand_still |
| 79 | 83 | -i contract_view |
| 80 | 84 | ... | ... |
| ... | ... | @@ -11,6 +11,8 @@ |
| 11 | 11 | |
| 12 | 12 | -v ARTICLE_17:True |
| 13 | 13 | |
| 14 | +-v CRITERIA_GUARANTEE:True | |
| 15 | + | |
| 14 | 16 | -i create_tender |
| 15 | 17 | -i find_tender |
| 16 | 18 | -i tender_view |
| ... | ... | @@ -59,6 +61,9 @@ |
| 59 | 61 | -i qualification_add_doc_to_second_award |
| 60 | 62 | -i qualification_approve_second_award |
| 61 | 63 | |
| 64 | +-i wait_active_awarding_start | |
| 65 | +-i qualification_add_contract_guarantee_document | |
| 66 | + | |
| 62 | 67 | -i contract_stand_still |
| 63 | 68 | -i contract_view |
| 64 | 69 | -i contract_view_dateSigned | ... | ... |
| ... | ... | @@ -9,6 +9,8 @@ |
| 9 | 9 | |
| 10 | 10 | -v ARTICLE_17:True |
| 11 | 11 | |
| 12 | +-v CRITERIA_GUARANTEE:True | |
| 13 | + | |
| 12 | 14 | |
| 13 | 15 | -i create_tender |
| 14 | 16 | -i find_tender |
| ... | ... | @@ -96,10 +98,12 @@ |
| 96 | 98 | -i qualification_add_doc_to_first_award |
| 97 | 99 | -i qualification_add_criteria_response_first_award |
| 98 | 100 | -i qualification_reject_first_award |
| 99 | - | |
| 100 | 101 | -i qualification_add_doc_to_second_award |
| 101 | 102 | -i qualification_approve_second_award |
| 102 | 103 | |
| 104 | +-i wait_active_awarding_start | |
| 105 | +-i qualification_add_contract_guarantee_document | |
| 106 | + | |
| 103 | 107 | -i contract_stand_still |
| 104 | 108 | -i contract_view |
| 105 | 109 | -i modify_contract_invalid_amount | ... | ... |
| ... | ... | @@ -9,6 +9,8 @@ |
| 9 | 9 | |
| 10 | 10 | -v ARTICLE_17:True |
| 11 | 11 | |
| 12 | +-v CRITERIA_GUARANTEE:True | |
| 13 | + | |
| 12 | 14 | |
| 13 | 15 | -i create_tender |
| 14 | 16 | -i find_tender |
| ... | ... | @@ -80,6 +82,9 @@ |
| 80 | 82 | -i qualification_add_doc_to_second_award |
| 81 | 83 | -i qualification_approve_second_award |
| 82 | 84 | |
| 85 | +-i wait_active_awarding_start | |
| 86 | +-i qualification_add_contract_guarantee_document | |
| 87 | + | |
| 83 | 88 | -i contract_stand_still |
| 84 | 89 | -i contract_view |
| 85 | 90 | -i modify_contract_invalid_amount | ... | ... |
Please
register
or
login
to post a comment