Commit 73da3095f01c3de1347b73d68d040376870e8ea0
Merge pull request #73 from Leits/qualification
Add qualification and contract tests
Showing
4 changed files
with
213 additions
and
16 deletions
| @@ -336,6 +336,59 @@ Library openprocurement_client_helper.py | @@ -336,6 +336,59 @@ Library openprocurement_client_helper.py | ||
| 336 | #${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | 336 | #${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} |
| 337 | 337 | ||
| 338 | ############################################################################## | 338 | ############################################################################## |
| 339 | +# Qualification Operations | ||
| 340 | +############################################################################## | ||
| 341 | + | ||
| 342 | +Завантажити документ рішення кваліфікаційної комісії | ||
| 343 | + [Documentation] | ||
| 344 | + ... [Arguments] Username, tender uaid, qualification number and document to upload | ||
| 345 | + ... [Description] Find tender using uaid, and call upload_qualification_document | ||
| 346 | + ... [Return] Reply of API | ||
| 347 | + [Arguments] ${username} ${document} ${tender_uaid} ${award_num} | ||
| 348 | + ${tender}= Пошук тендера по ідентифікатору ${username} ${tender_uaid} | ||
| 349 | + ${doc_reply}= Call Method ${USERS.users['${username}'].client} upload_award_document ${document} ${tender} ${tender.data.awards[${award_num}].id} | ||
| 350 | + Log ${doc_reply} | ||
| 351 | + [Return] ${doc_reply} | ||
| 352 | + | ||
| 353 | +Підтвердити постачальника | ||
| 354 | + [Documentation] | ||
| 355 | + ... [Arguments] Username, tender uaid and number of the award to confirm | ||
| 356 | + ... Find tender using uaid, get data from confirm_supplier and call patch_award | ||
| 357 | + ... [Return] Nothing | ||
| 358 | + [Arguments] ${username} ${tender_uaid} ${award_num} | ||
| 359 | + ${tender}= Пошук тендера по ідентифікатору ${username} ${tender_uaid} | ||
| 360 | + ${award}= create_data_dict data.status active | ||
| 361 | + Set To Dictionary ${award.data} id ${tender.data.awards[${award_num}].id} | ||
| 362 | + ${reply}= Call Method ${USERS.users['${username}'].client} patch_award ${tender} ${award} | ||
| 363 | + Log ${reply} | ||
| 364 | + | ||
| 365 | +Дискваліфікація постачальника | ||
| 366 | + [Documentation] | ||
| 367 | + ... [Arguments] Username, tender uaid and award number | ||
| 368 | + ... [Description] Find tender using uaid, create data dict with unsuccessful status and call patch_award | ||
| 369 | + ... [Return] Reply of API | ||
| 370 | + [Arguments] ${username} ${tender_uid} ${award_num} | ||
| 371 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | ||
| 372 | + ${award}= create_data_dict data.status unsuccessful | ||
| 373 | + Set To Dictionary ${award.data} id ${tender.data.awards[${award_num}].id} | ||
| 374 | + ${reply}= Call Method ${USERS.users['${username}'].client} patch_award ${tender} ${award} | ||
| 375 | + Log ${reply} | ||
| 376 | + [Return] ${reply} | ||
| 377 | + | ||
| 378 | +Скасування рішення кваліфікаційної комісії | ||
| 379 | + [Documentation] | ||
| 380 | + ... [Arguments] Username, tender uaid and award number | ||
| 381 | + ... [Description] Find tender using uaid, create data dict with unsuccessful status and call patch_award | ||
| 382 | + ... [Return] Reply of API | ||
| 383 | + [Arguments] ${username} ${tender_uid} ${award_num} | ||
| 384 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | ||
| 385 | + ${award}= create_data_dict data.status cancelled | ||
| 386 | + Set To Dictionary ${award.data} id ${tender.data.awards[${award_num}].id} | ||
| 387 | + ${reply}= Call Method ${USERS.users['${username}'].client} patch_award ${tender} ${award} | ||
| 388 | + Log ${reply} | ||
| 389 | + [Return] ${reply} | ||
| 390 | + | ||
| 391 | +############################################################################## | ||
| 339 | # Limited procurement | 392 | # Limited procurement |
| 340 | ############################################################################## | 393 | ############################################################################## |
| 341 | 394 | ||
| @@ -365,20 +418,6 @@ Library openprocurement_client_helper.py | @@ -365,20 +418,6 @@ Library openprocurement_client_helper.py | ||
| 365 | ${supplier_number}= Set variable 0 | 418 | ${supplier_number}= Set variable 0 |
| 366 | Підтвердити постачальника ${username} ${tender_uaid} ${supplier_number} | 419 | Підтвердити постачальника ${username} ${tender_uaid} ${supplier_number} |
| 367 | 420 | ||
| 368 | - | ||
| 369 | -Підтвердити постачальника | ||
| 370 | - [Documentation] | ||
| 371 | - ... [Arguments] Username, tender uaid and number of the award to confirm | ||
| 372 | - ... Find tender using uaid, get data from confirm_supplier and call patch_award | ||
| 373 | - ... [Return] Nothing | ||
| 374 | - [Arguments] ${username} ${tender_uaid} ${award_num} | ||
| 375 | - ${tender}= Пошук тендера по ідентифікатору ${username} ${tender_uaid} | ||
| 376 | - ${data}= test_confirm_data ${tender['data']['awards'][${award_num}]['id']} | ||
| 377 | - Log ${data} | ||
| 378 | - ${reply}= Call Method ${USERS.users['${username}'].client} patch_award ${tender} ${data} | ||
| 379 | - Log ${reply} | ||
| 380 | - | ||
| 381 | - | ||
| 382 | Скасувати закупівлю | 421 | Скасувати закупівлю |
| 383 | [Documentation] | 422 | [Documentation] |
| 384 | ... [Arguments] Username, tender uaid, cancellation reason, | 423 | ... [Arguments] Username, tender uaid, cancellation reason, |
op_robot_tests/tests_files/contract.robot
0 → 100644
| 1 | +*** Settings *** | ||
| 2 | +Resource keywords.robot | ||
| 3 | +Resource resource.robot | ||
| 4 | +Suite Setup Test Suite Setup | ||
| 5 | +Suite Teardown Test Suite Teardown | ||
| 6 | + | ||
| 7 | +*** Variables *** | ||
| 8 | +${role} viewer | ||
| 9 | +${broker} Quinta | ||
| 10 | + | ||
| 11 | + | ||
| 12 | +*** Test Cases *** | ||
| 13 | +Пошук позапорогового однопредметного тендера по ідентифікатору | ||
| 14 | + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору | ||
| 15 | + ... viewer tender_owner | ||
| 16 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
| 17 | + ... minimal | ||
| 18 | + Завантажити дані про тендер | ||
| 19 | + ${usernames}= Create List ${viewer} ${tender_owner} | ||
| 20 | + :FOR ${username} IN @{usernames} | ||
| 21 | + \ ${resp}= Викликати для учасника ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | ||
| 22 | + Log ${resp} | ||
| 23 | + | ||
| 24 | +############################################################################################## | ||
| 25 | +# CONTRACT | ||
| 26 | +############################################################################################## | ||
| 27 | + | ||
| 28 | +Можливість укласти угоду для прямої закупівлі | ||
| 29 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість укласти угоду для прямої закупівлі | ||
| 30 | + ... tender_owner | ||
| 31 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 32 | + Викликати для учасника ${tender_owner} Підтвердити підписання контракту ${TENDER['TENDER_UAID']} 1 | ||
| 33 | + | ||
| 34 | + | ||
| 35 | +Відображення статусу підписаної угоди з постачальником прямої закупівлі | ||
| 36 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення статусу підписаної угоди з постачальником прямої закупівлі | ||
| 37 | + ... viewer | ||
| 38 | + ... ${USERS.users['${viewer}'].broker} | ||
| 39 | + Звірити поле тендера із значенням ${viewer} active contracts[1].status |
| @@ -18,8 +18,13 @@ Test Suite Setup | @@ -18,8 +18,13 @@ Test Suite Setup | ||
| 18 | 18 | ||
| 19 | Test Suite Teardown | 19 | Test Suite Teardown |
| 20 | Close all browsers | 20 | Close all browsers |
| 21 | - ${artifact}= Create Dictionary tender_uaid=${TENDER['TENDER_UAID']} access_token=${USERS.users['${tender_owner}'].access_token} | ||
| 22 | - log_object_data ${artifact} arctifact | 21 | + ${artifact}= Create Dictionary |
| 22 | + ... api_version=${api_version} | ||
| 23 | + ... tender_uaid=${TENDER['TENDER_UAID']} | ||
| 24 | + ... tender_owner=${USERS.users['${tender_owner}'].broker} | ||
| 25 | + Run Keyword If '${USERS.users['${tender_owner}'].broker}' == 'Quinta' | ||
| 26 | + ... Set To Dictionary ${artifact} access_token=${USERS.users['${tender_owner}'].access_token} | ||
| 27 | + log_object_data ${artifact} artifact | ||
| 23 | 28 | ||
| 24 | 29 | ||
| 25 | Set Suite Variable With Default Value | 30 | Set Suite Variable With Default Value |
| @@ -83,6 +88,14 @@ Get Broker Property By Username | @@ -83,6 +88,14 @@ Get Broker Property By Username | ||
| 83 | ${broker_name}= Get Variable Value ${USERS.users['${username}'].broker} | 88 | ${broker_name}= Get Variable Value ${USERS.users['${username}'].broker} |
| 84 | Run Keyword And Return Get Broker Property ${broker_name} ${property} | 89 | Run Keyword And Return Get Broker Property ${broker_name} ${property} |
| 85 | 90 | ||
| 91 | +Завантажити дані про тендер | ||
| 92 | + ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact.yaml | ||
| 93 | + ${ARTIFACT}= load_initial_data_from ${file_path} | ||
| 94 | + Set To Dictionary ${USERS.users['${tender_owner}']} access_token ${ARTIFACT.access_token} | ||
| 95 | + ${TENDER}= Create Dictionary | ||
| 96 | + Set To Dictionary ${TENDER} TENDER_UAID ${ARTIFACT.tender_uaid} | ||
| 97 | + Set Global Variable ${TENDER} | ||
| 98 | + | ||
| 86 | 99 | ||
| 87 | Підготовка даних для створення тендера | 100 | Підготовка даних для створення тендера |
| 88 | ${custom_intervals}= Get Broker Property By Username ${tender_owner} intervals | 101 | ${custom_intervals}= Get Broker Property By Username ${tender_owner} intervals |
| 1 | +*** Settings *** | ||
| 2 | +Resource keywords.robot | ||
| 3 | +Resource resource.robot | ||
| 4 | +Suite Setup Test Suite Setup | ||
| 5 | +Suite Teardown Test Suite Teardown | ||
| 6 | + | ||
| 7 | +*** Variables *** | ||
| 8 | +${role} viewer | ||
| 9 | +${broker} Quinta | ||
| 10 | + | ||
| 11 | + | ||
| 12 | +*** Test Cases *** | ||
| 13 | +Пошук позапорогового однопредметного тендера по ідентифікатору | ||
| 14 | + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору | ||
| 15 | + ... viewer tender_owner | ||
| 16 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
| 17 | + ... minimal | ||
| 18 | + Завантажити дані про тендер | ||
| 19 | + ${usernames}= Create List ${viewer} ${tender_owner} | ||
| 20 | + :FOR ${username} IN @{usernames} | ||
| 21 | + \ ${resp}= Викликати для учасника ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | ||
| 22 | + Log ${resp} | ||
| 23 | + | ||
| 24 | +############################################################################################## | ||
| 25 | +# AWARDS | ||
| 26 | +############################################################################################## | ||
| 27 | + | ||
| 28 | +Відображення статусу кваліфікації | ||
| 29 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних оголошеного тендера | ||
| 30 | + ... tender_owner | ||
| 31 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 32 | + ${usernames}= Create List ${viewer} ${tender_owner} | ||
| 33 | + :FOR ${username} IN @{usernames} | ||
| 34 | + \ Звірити поле тендера із значенням ${tender_owner} active.qualification status | ||
| 35 | + | ||
| 36 | +Відображення вартості номенклатури постачальника | ||
| 37 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних оголошеного тендера | ||
| 38 | + ... tender_owner | ||
| 39 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 40 | + ${usernames}= Create List ${viewer} ${tender_owner} | ||
| 41 | + :FOR ${username} IN @{usernames} | ||
| 42 | + \ Викликати для учасника ${username} Отримати інформацію із тендера awards[0].value.amount | ||
| 43 | + | ||
| 44 | +Відображення імені постачальника | ||
| 45 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних оголошеного тендера | ||
| 46 | + ... tender_owner | ||
| 47 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 48 | + ${usernames}= Create List ${viewer} ${tender_owner} | ||
| 49 | + :FOR ${username} IN @{usernames} | ||
| 50 | + \ Викликати для учасника ${username} Отримати інформацію із тендера awards[0].suppliers[0].name | ||
| 51 | + | ||
| 52 | +Відображення офіційного імені постачальника | ||
| 53 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних оголошеного тендера | ||
| 54 | + ... tender_owner | ||
| 55 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 56 | + ${usernames}= Create List ${viewer} ${tender_owner} | ||
| 57 | + :FOR ${username} IN @{usernames} | ||
| 58 | + \ Викликати для учасника ${username} Отримати інформацію із тендера awards[0].suppliers[0].identifier.legalName | ||
| 59 | + | ||
| 60 | +Відображення ідентифікатора постачальника | ||
| 61 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних оголошеного тендера | ||
| 62 | + ... tender_owner | ||
| 63 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 64 | + ${usernames}= Create List ${viewer} ${tender_owner} | ||
| 65 | + :FOR ${username} IN @{usernames} | ||
| 66 | + \ Викликати для учасника ${username} Отримати інформацію із тендера awards[0].suppliers[0].identifier.id | ||
| 67 | + | ||
| 68 | + | ||
| 69 | +############################################################################################## | ||
| 70 | +# QUALIFICATION | ||
| 71 | +############################################################################################## | ||
| 72 | + | ||
| 73 | +Можливість завантажити документ рішення кваліфікаційної комісії для підтвердження постачальника | ||
| 74 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість укласти угоду для прямої закупівлі | ||
| 75 | + ... tender_owner | ||
| 76 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 77 | + ${filepath}= create_fake_doc | ||
| 78 | + Викликати для учасника ${tender_owner} Завантажити документ рішення кваліфікаційної комісії ${filepath} ${TENDER['TENDER_UAID']} 0 | ||
| 79 | + | ||
| 80 | +Можливість підтвердити постачальника | ||
| 81 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість зареєструвати і підтвердити постачальника до прямої закупівлі | ||
| 82 | + ... tender_owner | ||
| 83 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 84 | + ... minimal | ||
| 85 | + Викликати для учасника ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 0 | ||
| 86 | + | ||
| 87 | +Можливість скасувати рішення кваліфікації | ||
| 88 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість зареєструвати і підтвердити постачальника до прямої закупівлі | ||
| 89 | + ... tender_owner | ||
| 90 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 91 | + ... minimal | ||
| 92 | + Викликати для учасника ${tender_owner} Скасування рішення кваліфікаційної комісії ${TENDER['TENDER_UAID']} 0 | ||
| 93 | + | ||
| 94 | +Можливість завантажити документ рішення кваліфікаційної комісії для підтвердження нового постачальника | ||
| 95 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість укласти угоду для прямої закупівлі | ||
| 96 | + ... tender_owner | ||
| 97 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 98 | + ${filepath}= create_fake_doc | ||
| 99 | + Викликати для учасника ${tender_owner} Завантажити документ рішення кваліфікаційної комісії ${filepath} ${TENDER['TENDER_UAID']} 1 | ||
| 100 | + | ||
| 101 | +Можливість підтвердити нового постачальника | ||
| 102 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість зареєструвати і підтвердити постачальника до прямої закупівлі | ||
| 103 | + ... tender_owner | ||
| 104 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 105 | + ... minimal | ||
| 106 | + Викликати для учасника ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 1 |
Please
register
or
login
to post a comment