Commit 73da3095f01c3de1347b73d68d040376870e8ea0

Authored by Myroslav Opyr
2 parents cd2b255f ebc5124b

Merge pull request #73 from Leits/qualification

Add qualification and contract tests
@@ -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,
  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