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