Commit c66d0cfe0674332f189ee117ffed8d64ae158044
Merge branch 'e-tender_+_netcast'
Conflicts: op_robot_tests/tests_files/data/brokers.yaml op_robot_tests/tests_files/data/users.yaml op_robot_tests/tests_files/initial_data.py
Showing
11 changed files
with
433 additions
and
316 deletions
1 | -*** Setting *** | ||
2 | -Library op_robot_tests.tests_files.service_keywords | ||
3 | -Library String | ||
4 | -LIbrary Collections | ||
5 | -LIbrary Selenium2Library | ||
6 | -Library DebugLibrary | ||
7 | -Resource keywords.robot | ||
8 | -Resource resource.robot | ||
9 | -Suite Setup TestCaseSetup | ||
10 | -Suite Teardown Close all browsers | ||
11 | - | ||
12 | -*** Variables *** | ||
13 | -${tender_dump_id} 0 | ||
14 | -${tender_owner} Tender_Owner | ||
15 | -${provider} Tender_User | ||
16 | -${viewer} Tender_Viewer | ||
17 | - | ||
18 | -${LOAD_USERS} ["${tender_owner}", "${provider}"] | ||
19 | - | ||
20 | -${item_id} 0 | ||
21 | -${question_id} 0 | ||
22 | - | ||
23 | - | ||
24 | -*** Test Cases *** | ||
25 | -Можливість оголосити однопердметний тендер | ||
26 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Пошук тендера по ідентифікатору | ||
27 | - ${TENDER_ID}= Викликати для учасника ${tender_owner} Створити тендер ${INITIAL_TENDER_DATA} | ||
28 | - Set Global Variable ${TENDER_ID} | ||
29 | - ${LAST_MODIFICATION_DATE}= Get Current Date | ||
30 | - ${TENDER_DATA}= Get Variable Value ${INITIAL_TENDER_DATA} | ||
31 | - Set Global Variable ${TENDER_DATA} | ||
32 | - Set Global Variable ${LAST_MODIFICATION_DATE} | ||
33 | - | ||
34 | -Пошук однопредметного тендера по ідентифікатору | ||
35 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Пошук тендера по ідентифікатору | ||
36 | - Дочекатись синхронізації з майданчиком ${provider} | ||
37 | - Викликати для учасника ${provider} Пошук тендера по ідентифікатору ${TENDER_ID} ${TENDER_ID} | ||
38 | - | ||
39 | -Відображення заголовоку оголошеного тендера | ||
40 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис основних даних оголошеного тендера | ||
41 | - Звірити поле тендера ${provider} title | ||
42 | - | ||
43 | -Відображення опису оголошеного тендера | ||
44 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис основних даних оголошеного тендера | ||
45 | - Звірити поле тендера ${provider} description | ||
46 | - | ||
47 | -Відображення бюджету оголошеного тендера | ||
48 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис основних даних оголошеного тендера | ||
49 | - Звірити поле тендера ${provider} value.amount | ||
50 | - | ||
51 | -Відображення procuringEntity.name оголошеного тендера | ||
52 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис основних даних оголошеного тендера | ||
53 | - Звірити поле тендера ${provider} procuringEntity.name | ||
54 | - | ||
55 | -#Відображення початоку періоду уточнення оголошеного тендера | ||
56 | -# [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис основних даних оголошеного тендера | ||
57 | -# Звірити поле тендера ${provider} enquiryPeriod.startDate | ||
58 | - | ||
59 | -Відображення закінчення періоду уточнення оголошеного тендера | ||
60 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис основних даних оголошеного тендера | ||
61 | - Звірити дату ${provider} enquiryPeriod.endDate | ||
62 | - | ||
63 | -Відображення початоку періоду прийому пропозицій оголошеного тендера | ||
64 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис основних даних оголошеного тендера | ||
65 | - Звірити дату ${provider} tenderPeriod.startDate | ||
66 | - | ||
67 | -Відображення закінчення періоду прийому пропозицій оголошеного тендера | ||
68 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис основних даних оголошеного тендера | ||
69 | - Звірити дату ${provider} tenderPeriod.endDate | ||
70 | - | ||
71 | -Відображення мінімального кроку оголошеного тендера | ||
72 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис основних даних оголошеного тендера | ||
73 | - Звірити поле тендера ${provider} minimalStep.amount | ||
74 | - | ||
75 | -Відображення опису позицій закупівлі однопредметного тендера | ||
76 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
77 | - Звірити поле тендера ${provider} items[${item_id}].description | ||
78 | - | ||
79 | -Відображення дати доставки позицій закупівлі однопредметного тендера | ||
80 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
81 | - Звірити дату ${provider} items[${item_id}].deliveryDate.endDate | ||
82 | - | ||
83 | -Відображення координат широти доставки позицій закупівлі однопредметного тендера | ||
84 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
85 | - Звірити поле тендера ${provider} items[${item_id}].deliveryLocation.latitude | ||
86 | - | ||
87 | -Відображення координат довготи доставки позицій закупівлі однопредметного тендера | ||
88 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
89 | - Звірити поле тендера ${provider} items[${item_id}].deliveryLocation.longitude | ||
90 | - | ||
91 | -Відображення назви нас. пункту доставки позицій закупівлі однопредметного тендера | ||
92 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
93 | - Звірити поле тендера ${provider} items[${item_id}].deliveryAddress.countryName | ||
94 | - | ||
95 | -Відображення пошт коду доставки позицій закупівлі однопредметного тендера | ||
96 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
97 | - Звірити поле тендера ${provider} items[${item_id}].deliveryAddress.postalCode | ||
98 | - | ||
99 | -Відображення регіону доставки позицій закупівлі однопредметного тендера | ||
100 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
101 | - Звірити поле тендера ${provider} items[${item_id}].deliveryAddress.region | ||
102 | - | ||
103 | -Відображення locality адреси доставки позицій закупівлі однопредметного тендера | ||
104 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
105 | - Звірити поле тендера ${provider} items[${item_id}].deliveryAddress.locality | ||
106 | - | ||
107 | -Відображення вулиці доставки позицій закупівлі однопредметного тендера | ||
108 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
109 | - Звірити поле тендера ${provider} items[${item_id}].deliveryAddress.streetAddress | ||
110 | - | ||
111 | -Відображення схеми класифікації позицій закупівлі однопредметного тендера | ||
112 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
113 | - Звірити поле тендера ${provider} items[${item_id}].classification.scheme | ||
114 | - | ||
115 | -Відображення ідентифйікатора класифікації позицій закупівлі однопредметного тендера | ||
116 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
117 | - Звірити поле тендера ${provider} items[${item_id}].classification.id | ||
118 | - | ||
119 | -Відображення опису класифікації позицій закупівлі однопредметного тендера | ||
120 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
121 | - Звірити поле тендера ${provider} items[${item_id}].classification.description | ||
122 | - | ||
123 | -Відображення схеми додаткової класифікації позицій закупівлі однопредметного тендера | ||
124 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
125 | - Звірити поле тендера ${provider} items[${item_id}].additionalClassifications.scheme | ||
126 | - | ||
127 | -Відображення ідентифікатора додаткової класифікації позицій закупівлі однопредметного тендера | ||
128 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
129 | - Звірити поле тендера ${provider} items[${item_id}].additionalClassifications.id | ||
130 | - | ||
131 | -Відображення опису додаткової класифікації позицій закупівлі однопредметного тендера | ||
132 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
133 | - Звірити поле тендера ${provider} items[${item_id}].additionalClassifications.description | ||
134 | - | ||
135 | -Відображення назви одиниці позицій закупівлі однопредметного тендера | ||
136 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
137 | - Звірити поле тендера ${provider} items[${item_id}].unit.name | ||
138 | - | ||
139 | -Відображення коду одиниці позицій закупівлі однопредметного тендера | ||
140 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
141 | - Звірити поле тендера ${provider} items[${item_id}].unit.code | ||
142 | - | ||
143 | -Відображення кількості позицій закупівлі однопредметного тендера | ||
144 | - [Tags] Owner_Tests ${USERS.users['${tender_owner}'].broker}: Запис полів пердметів однопредметного тендера | ||
145 | - Звірити поле тендера ${provider} items[${item_id}].quantity | ||
146 | - | ||
147 | - |
@@ -3,18 +3,8 @@ Library Selenium2Screenshots | @@ -3,18 +3,8 @@ Library Selenium2Screenshots | ||
3 | Library String | 3 | Library String |
4 | Library DateTime | 4 | Library DateTime |
5 | 5 | ||
6 | - | ||
7 | *** Variables *** | 6 | *** Variables *** |
8 | ${locator.tenderId} jquery=h3 | 7 | ${locator.tenderId} jquery=h3 |
9 | -${locator.title} jquery=tender-subject-info>div.row:contains("Назва закупівлі:")>:eq(1)> | ||
10 | -${locator.description} jquery=tender-subject-info>div.row:contains("Детальний опис закупівлі:")>:eq(1)> | ||
11 | -${locator.minimalStep.amount} jquery=tender-subject-info>div.row:contains("Мінімальний крок аукціону, грн.:")>:eq(1)> | ||
12 | -${locator.procuringEntity.name} jquery=customer-info>div.row:contains("Найменування:")>:eq(1)> | ||
13 | -${locator.value.amount} jquery=tender-subject-info>div.row:contains("Повний доступний бюджет закупівлі, грн.:")>:eq(1)> | ||
14 | -${locator.tenderPeriod.startDate} jquery=tender-procedure-info>div.row:contains("Початок прийому пропозицій:")>:eq(1)> | ||
15 | -${locator.tenderPeriod.endDate} jquery=tender-procedure-info>div.row:contains("Завершення прийому пропозицій:")>:eq(1)> | ||
16 | -${locator.enquiryPeriod.startDate} jquery=tender-procedure-info>div.row:contains("Початок періоду уточнень:")>:eq(1)> | ||
17 | -${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contains("Завершення періоду уточнень:")>:eq(1)> | ||
18 | 8 | ||
19 | *** Keywords *** | 9 | *** Keywords *** |
20 | Підготувати дані для оголошення тендера | 10 | Підготувати дані для оголошення тендера |
@@ -32,6 +22,7 @@ ${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contai | @@ -32,6 +22,7 @@ ${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contai | ||
32 | # login | 22 | # login |
33 | Wait Until Page Contains Element id=inputUsername 100 | 23 | Wait Until Page Contains Element id=inputUsername 100 |
34 | Input text id=inputUsername ${USERS.users['${username}'].login} | 24 | Input text id=inputUsername ${USERS.users['${username}'].login} |
25 | + Wait Until Page Contains Element id=inputPassword 100 | ||
35 | Input text id=inputPassword ${USERS.users['${username}'].password} | 26 | Input text id=inputPassword ${USERS.users['${username}'].password} |
36 | Click Button id=btn_submit | 27 | Click Button id=btn_submit |
37 | 28 | ||
@@ -78,43 +69,41 @@ ${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contai | @@ -78,43 +69,41 @@ ${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contai | ||
78 | Input text id=minimalStep ${step_rate} | 69 | Input text id=minimalStep ${step_rate} |
79 | Input text id=itemsDescription ${items_description} | 70 | Input text id=itemsDescription ${items_description} |
80 | Input text id=itemsQuantity ${quantity} | 71 | Input text id=itemsQuantity ${quantity} |
72 | + Wait Until Page Contains Element xpath=//select[@name="itemsUnit"]/option[@value='kilogram'] 100 | ||
81 | Click Element xpath=//select[@name="itemsUnit"]/option[@value='kilogram'] | 73 | Click Element xpath=//select[@name="itemsUnit"]/option[@value='kilogram'] |
82 | Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='enqPEndDate'] ${enquiry_end_date} | 74 | Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='enqPEndDate'] ${enquiry_end_date} |
83 | Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//div[contains(@class, 'col-sm-2')]//input[@ng-model='data.enquiryPeriod.endDate'] ${enquiry_end_time} | 75 | Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//div[contains(@class, 'col-sm-2')]//input[@ng-model='data.enquiryPeriod.endDate'] ${enquiry_end_time} |
84 | - | ||
85 | Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='startDate'] ${start_date} | 76 | Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='startDate'] ${start_date} |
86 | Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//div[contains(@class, 'col-sm-2')]//input[@ng-model='data.tenderPeriod.startDate'] ${start_time} | 77 | Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//div[contains(@class, 'col-sm-2')]//input[@ng-model='data.tenderPeriod.startDate'] ${start_time} |
87 | Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='endDate'] ${end_date} | 78 | Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='endDate'] ${end_date} |
88 | Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//div[contains(@class, 'col-sm-2')]//input[@ng-model='data.tenderPeriod.endDate'] ${end_time} | 79 | Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//div[contains(@class, 'col-sm-2')]//input[@ng-model='data.tenderPeriod.endDate'] ${end_time} |
89 | - | ||
90 | Click Element xpath=//div[contains(@class, 'col-sm-2')]//input[@data-target='#classification'] | 80 | Click Element xpath=//div[contains(@class, 'col-sm-2')]//input[@data-target='#classification'] |
91 | - Wait Until Page Contains Оберіть класифікатор CPV 100 | ||
92 | - Input text xpath=//div[contains(@class, 'modal-content')]//input[@ng-model='searchstring'] ${cpv} | ||
93 | - Wait Until Page Contains Картонки 100 | ||
94 | - Click Element xpath=//table[contains(@class, 'table table-hover table-striped table-bordered ng-table-rowselected ng-scope ng-table')]//tr[1]//td[1] | ||
95 | - Wait Until Page Contains 44617100-9 Картонки 100 | 81 | + Wait Until Element Is Visible xpath=//div[contains(@role,'dialog')] |
82 | + Input text xpath=//div[contains(@class, 'modal-content')]//input[@ng-model='searchstring'] ${cpv} | ||
83 | + Wait Until Page Contains ${cpv} | ||
84 | + Click Element xpath=//td[contains(., '${cpv}')] | ||
96 | Click Element xpath=//div[contains(@class, 'modal-content')]//button[@ng-click='choose()'] | 85 | Click Element xpath=//div[contains(@class, 'modal-content')]//button[@ng-click='choose()'] |
97 | - | ||
98 | Click Element xpath=//div[contains(@class, 'col-sm-2')]//input[@data-target='#addClassification'] | 86 | Click Element xpath=//div[contains(@class, 'col-sm-2')]//input[@data-target='#addClassification'] |
99 | - Wait Until Page Contains Класифікатор ДКПП 100 | 87 | + Wait Until Element Is Visible xpath=//div[contains(@id,'addClassification')] |
100 | Input text xpath=//div[contains(@class, 'modal fade ng-scope in')]//input[@ng-model='searchstring'] ${dkpp_desc} | 88 | Input text xpath=//div[contains(@class, 'modal fade ng-scope in')]//input[@ng-model='searchstring'] ${dkpp_desc} |
101 | - Wait Until Page Contains ${dkpp_id} 100 | ||
102 | - Click Element xpath=//table[contains(@class, 'table table-hover table-striped table-bordered ng-table-rowselected ng-scope ng-table')]//tr[2]//td[1] | ||
103 | - Wait Until Page Contains 17.21.1 "Папір і картон гофровані, паперова й картонна тара" 100 | 89 | + Wait Until Page Contains ${dkpp_id} |
90 | + Click Element xpath=//td[contains(., '${dkpp_id}')] | ||
104 | Click Element xpath=//div[contains(@class, 'modal fade ng-scope in')]//button[@ng-click='choose()'] | 91 | Click Element xpath=//div[contains(@class, 'modal fade ng-scope in')]//button[@ng-click='choose()'] |
92 | + Run Keyword if '${mode}' == 'multi' Додати предмет items | ||
93 | + Wait Until Page Contains Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit'] | ||
105 | Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit'] | 94 | Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit'] |
106 | Wait Until Page Contains [ТЕСТУВАННЯ] 100 | 95 | Wait Until Page Contains [ТЕСТУВАННЯ] 100 |
107 | Click Element xpath=//table[contains(@class, 'table table-hover table-striped table-bordered ng-scope ng-table')]//tr[1]//a | 96 | Click Element xpath=//table[contains(@class, 'table table-hover table-striped table-bordered ng-scope ng-table')]//tr[1]//a |
108 | ${tender_UAid}= Wait Until Keyword Succeeds 240sec 2sec get tender UAid | 97 | ${tender_UAid}= Wait Until Keyword Succeeds 240sec 2sec get tender UAid |
109 | ### harcode Idis bacause issues on the E-tender side, to remove, 1 line: | 98 | ### harcode Idis bacause issues on the E-tender side, to remove, 1 line: |
110 | - ${tender_UAid}= Convert To String UA-2015-06-30-000012 | ||
111 | - ${Ids} Create List ${tender_UAid} | 99 | + ${tender_UAid}= Convert To String UA-2015-08-03-000025 |
100 | + ${id}= Oтримати internal id по UAid ${ARGUMENTS[0]} ${tender_UAid} | ||
101 | + ${Ids} Create List ${tender_UAid} ${id} | ||
112 | [return] ${Ids} | 102 | [return] ${Ids} |
113 | 103 | ||
114 | get tender UAid | 104 | get tender UAid |
115 | ${tender_UAid}= Get Text xpath=//div[contains(@class, "panel-heading")] | 105 | ${tender_UAid}= Get Text xpath=//div[contains(@class, "panel-heading")] |
116 | ${tender_UAid}= Get Substring ${tender_UAid} 7 27 | 106 | ${tender_UAid}= Get Substring ${tender_UAid} 7 27 |
117 | - [return] ${tender_UAid} | ||
118 | 107 | ||
119 | Oтримати internal id по UAid | 108 | Oтримати internal id по UAid |
120 | [Arguments] @{ARGUMENTS} | 109 | [Arguments] @{ARGUMENTS} |
@@ -124,10 +113,49 @@ Oтримати internal id по UAid | @@ -124,10 +113,49 @@ Oтримати internal id по UAid | ||
124 | etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} | 113 | etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} |
125 | ${current_location}= Get Location | 114 | ${current_location}= Get Location |
126 | ${tender_id}= Fetch From Right ${current_location} / | 115 | ${tender_id}= Fetch From Right ${current_location} / |
127 | -### harcode Idis bacause issues on the E-tender side, to remove, 1 line: | 116 | +## harcode Idis bacause issues on the E-tender side, to remove, 1 line: |
128 | ${tender_id}= Convert To String 94ffe180019d459787aafe290cd300e2 | 117 | ${tender_id}= Convert To String 94ffe180019d459787aafe290cd300e2 |
129 | - log ${internal_id} | ||
130 | - [return] ${internal_id} | 118 | + log ${tender_id} |
119 | + [return] ${tender_id} | ||
120 | + | ||
121 | +Додати предмет | ||
122 | + [Arguments] @{ARGUMENTS} | ||
123 | + [Documentation] | ||
124 | + ... ${ARGUMENTS[0]} == items | ||
125 | + ${dkpp_desc1}= Get From Dictionary ${items[1].additionalClassifications[0]} description | ||
126 | + ${dkpp_id1}= Get From Dictionary ${items[1].additionalClassifications[0]} id | ||
127 | + ${dkpp_desc2}= Get From Dictionary ${items[2].additionalClassifications[0]} description | ||
128 | + ${dkpp_id2}= Get From Dictionary ${items[2].additionalClassifications[0]} id | ||
129 | + ${dkpp_desc3}= Get From Dictionary ${items[3].additionalClassifications[0]} description | ||
130 | + ${dkpp_id3}= Get From Dictionary ${items[3].additionalClassifications[0]} id | ||
131 | + | ||
132 | + Wait Until Page Contains Element xpath=.//*[@id='myform']/tender-form/div/button 100 | ||
133 | + Click Element xpath=.//*[@id='myform']/tender-form/div/button | ||
134 | + Sleep 2 | ||
135 | + Click Element xpath=(//div[contains(@class, 'col-sm-2')]//input[@data-target='#addClassification'])[2] | ||
136 | + Wait Until Element Is Visible xpath=//div[contains(@id,'addClassification')] | ||
137 | + Input text xpath=//div[contains(@class, 'modal fade ng-scope in')]//input[@ng-model='searchstring'] ${dkpp_desc1} | ||
138 | + Wait Until Page Contains ${dkpp_id1} | ||
139 | + Click Element xpath=//td[contains(., '${dkpp_id1}')] | ||
140 | + Click Element xpath=//div[contains(@class, 'modal fade ng-scope in')]//button[@ng-click='choose()'] | ||
141 | + Sleep 2 | ||
142 | + Click Element xpath=.//*[@id='myform']/tender-form/div/button | ||
143 | + Sleep 2 | ||
144 | + Click Element xpath=(//div[contains(@class, 'col-sm-2')]//input[@data-target='#addClassification'])[3] | ||
145 | + Wait Until Element Is Visible xpath=//div[contains(@id,'addClassification')] | ||
146 | + Input text xpath=//div[contains(@class, 'modal fade ng-scope in')]//input[@ng-model='searchstring'] ${dkpp_desc2} | ||
147 | + Wait Until Page Contains ${dkpp_id2} | ||
148 | + Click Element xpath=//td[contains(., '${dkpp_id2}')] | ||
149 | + Click Element xpath=//div[contains(@class, 'modal fade ng-scope in')]//button[@ng-click='choose()'] | ||
150 | + Sleep 2 | ||
151 | + Click Element xpath=.//*[@id='myform']/tender-form/div/button | ||
152 | + Sleep 2 | ||
153 | + Click Element xpath=(//div[contains(@class, 'col-sm-2')]//input[@data-target='#addClassification'])[4] | ||
154 | + Wait Until Element Is Visible xpath=//div[contains(@id,'addClassification')] | ||
155 | + Input text xpath=//div[contains(@class, 'modal fade ng-scope in')]//input[@ng-model='searchstring'] ${dkpp_desc3} | ||
156 | + Wait Until Page Contains ${dkpp_id3} | ||
157 | + Click Element xpath=//td[contains(., '${dkpp_id3}')] | ||
158 | + Click Element xpath=//div[contains(@class, 'modal fade ng-scope in')]//button[@ng-click='choose()'] | ||
131 | 159 | ||
132 | Пошук тендера по ідентифікатору | 160 | Пошук тендера по ідентифікатору |
133 | [Arguments] @{ARGUMENTS} | 161 | [Arguments] @{ARGUMENTS} |
@@ -136,17 +164,68 @@ Oтримати internal id по UAid | @@ -136,17 +164,68 @@ Oтримати internal id по UAid | ||
136 | ... ${ARGUMENTS[1]} == tenderId | 164 | ... ${ARGUMENTS[1]} == tenderId |
137 | 165 | ||
138 | Switch browser ${ARGUMENTS[0]} | 166 | Switch browser ${ARGUMENTS[0]} |
139 | - Go to ${BROKERS['${USERS.users['${username}'].broker}'].url} | 167 | + Go to ${BROKERS['${USERS.users['${username}'].broker}'].url} |
140 | Wait Until Page Contains Список закупівель 10 | 168 | Wait Until Page Contains Список закупівель 10 |
141 | - sleep 1 | ||
142 | - Input Text jquery=input[ng-change='search()'] ${ARGUMENTS[1]} | ||
143 | - Click Link jquery=a[ng-click='search()'] | ||
144 | - sleep 2 | 169 | + sleep 1 |
170 | + Input Text jquery=input[ng-change='search()'] ${ARGUMENTS[1]} | ||
171 | + Click Link jquery=a[ng-click='search()'] | ||
172 | + sleep 2 | ||
145 | Click Link jquery=a[href^="#/tenderDetailes"] | 173 | Click Link jquery=a[href^="#/tenderDetailes"] |
146 | Wait Until Page Contains ${ARGUMENTS[1]} 10 | 174 | Wait Until Page Contains ${ARGUMENTS[1]} 10 |
147 | sleep 1 | 175 | sleep 1 |
148 | Capture Page Screenshot | 176 | Capture Page Screenshot |
149 | 177 | ||
178 | + Подати цінову пропозицію | ||
179 | + [Arguments] @{ARGUMENTS} | ||
180 | + [Documentation] | ||
181 | + ... ${ARGUMENTS[0]} == username | ||
182 | + ... ${ARGUMENTS[1]} == ${INTERNAL_TENDER_ID} | ||
183 | + ... ${ARGUMENTS[2]} == test_bid_data | ||
184 | + | ||
185 | + ${bid}= Get From Dictionary ${ARGUMENTS[2].data.value} amount | ||
186 | + etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} | ||
187 | + Wait Until Page Contains Інформація про процедуру закупівлі 100 | ||
188 | + Wait Until Page Contains Element id=amount 10 | ||
189 | + Input text id=amount ${bid} | ||
190 | + Click Element xpath=//button[contains(@class, 'btn btn-success')][./text()='Реєстрація пропозиції'] | ||
191 | + | ||
192 | +Задати питання | ||
193 | + [Arguments] @{ARGUMENTS} | ||
194 | + [Documentation] | ||
195 | + ... ${ARGUMENTS[0]} = username | ||
196 | + ... ${ARGUMENTS[1]} = ${INTERNAL_TENDER_ID} | ||
197 | + ... ${ARGUMENTS[2]} = question_data | ||
198 | + | ||
199 | + ${title}= Get From Dictionary ${ARGUMENTS[2].data} title | ||
200 | + ${description}= Get From Dictionary ${ARGUMENTS[2].data} description | ||
201 | + | ||
202 | + Selenium2Library.Switch Browser ${ARGUMENTS[0]} | ||
203 | + etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} ${TENDER_ID} | ||
204 | + | ||
205 | + Wait Until Page Contains Element jquery=a[href^="#/addQuestion/"] 100 | ||
206 | + Click Element jquery=a[href^="#/addQuestion/"] | ||
207 | + Wait Until Page Contains Element id=title | ||
208 | + Input text id=title ${title} | ||
209 | + Input text id=description ${description} | ||
210 | + Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit'] | ||
211 | + | ||
212 | +Відповісти на питання | ||
213 | + [Arguments] @{ARGUMENTS} | ||
214 | + [Documentation] | ||
215 | + ... ${ARGUMENTS[0]} = username | ||
216 | + ... ${ARGUMENTS[1]} = ${INTERNAL_TENDER_ID} | ||
217 | + ... ${ARGUMENTS[2]} = 0 | ||
218 | + ... ${ARGUMENTS[3]} = answer_data | ||
219 | + | ||
220 | + ${answer}= Get From Dictionary ${ARGUMENTS[3].data} answer | ||
221 | + | ||
222 | + Selenium2Library.Switch Browser ${ARGUMENTS[0]} | ||
223 | + etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} ${TENDER_ID} | ||
224 | + | ||
225 | + Click Element xpath=//div[div/pre[1]]/div[1] | ||
226 | + Input text xpath=//div[textarea]/textarea ${answer} | ||
227 | + Click Element xpath=//div[textarea]/span/button[1] | ||
228 | + | ||
150 | обновити сторінку з тендером | 229 | обновити сторінку з тендером |
151 | [Arguments] @{ARGUMENTS} | 230 | [Arguments] @{ARGUMENTS} |
152 | [Documentation] | 231 | [Documentation] |
@@ -281,54 +360,3 @@ Oтримати internal id по UAid | @@ -281,54 +360,3 @@ Oтримати internal id по UAid | ||
281 | відмітити на сторінці поле з тендера question answer jquery=tender-questions>div:eq(1)>div:last> | 360 | відмітити на сторінці поле з тендера question answer jquery=tender-questions>div:eq(1)>div:last> |
282 | ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div:last> | 361 | ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div:last> |
283 | [return] ${return_value} | 362 | [return] ${return_value} |
284 | - | ||
285 | -Подати цінову пропозицію | ||
286 | - [Arguments] @{ARGUMENTS} | ||
287 | - [Documentation] | ||
288 | - ... ${ARGUMENTS[0]} == username | ||
289 | - ... ${ARGUMENTS[1]} == ${INTERNAL_TENDER_ID} | ||
290 | - ... ${ARGUMENTS[2]} == test_bid_data | ||
291 | - | ||
292 | - ${bid}= Get From Dictionary ${ARGUMENTS[2].data.value} amount | ||
293 | - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} | ||
294 | - Wait Until Page Contains Інформація про процедуру закупівлі 100 | ||
295 | - Wait Until Page Contains Element id=amount 10 | ||
296 | - Input text id=amount ${bid} | ||
297 | - Click Element xpath=//button[contains(@class, 'btn btn-success')][./text()='Реєстрація пропозиції'] | ||
298 | - | ||
299 | -Задати питання | ||
300 | - [Arguments] @{ARGUMENTS} | ||
301 | - [Documentation] | ||
302 | - ... ${ARGUMENTS[0]} = username | ||
303 | - ... ${ARGUMENTS[1]} = ${INTERNAL_TENDER_ID} | ||
304 | - ... ${ARGUMENTS[2]} = question_data | ||
305 | - | ||
306 | - ${title}= Get From Dictionary ${ARGUMENTS[2].data} title | ||
307 | - ${description}= Get From Dictionary ${ARGUMENTS[2].data} description | ||
308 | - | ||
309 | - Selenium2Library.Switch Browser ${ARGUMENTS[0]} | ||
310 | - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} ${TENDER_ID} | ||
311 | - | ||
312 | - Wait Until Page Contains Element jquery=a[href^="#/addQuestion/"] 100 | ||
313 | - Click Element jquery=a[href^="#/addQuestion/"] | ||
314 | - Wait Until Page Contains Element id=title | ||
315 | - Input text id=title ${title} | ||
316 | - Input text id=description ${description} | ||
317 | - Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit'] | ||
318 | - | ||
319 | -Відповісти на питання | ||
320 | - [Arguments] @{ARGUMENTS} | ||
321 | - [Documentation] | ||
322 | - ... ${ARGUMENTS[0]} = username | ||
323 | - ... ${ARGUMENTS[1]} = ${INTERNAL_TENDER_ID} | ||
324 | - ... ${ARGUMENTS[2]} = 0 | ||
325 | - ... ${ARGUMENTS[3]} = answer_data | ||
326 | - | ||
327 | - ${answer}= Get From Dictionary ${ARGUMENTS[3].data} answer | ||
328 | - | ||
329 | - Selenium2Library.Switch Browser ${ARGUMENTS[0]} | ||
330 | - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} ${TENDER_ID} | ||
331 | - | ||
332 | - Click Element xpath=//div[div/pre[1]]/div[1] | ||
333 | - Input text xpath=//div[textarea]/textarea ${answer} | ||
334 | - Click Element xpath=//div[textarea]/span/button[1] |
@@ -5,25 +5,170 @@ Library DateTime | @@ -5,25 +5,170 @@ Library DateTime | ||
5 | 5 | ||
6 | *** Variables *** | 6 | *** Variables *** |
7 | ${locator.tenderId} jquery=h3 | 7 | ${locator.tenderId} jquery=h3 |
8 | -${locator.title} jquery=tender-subject-info>div.row:contains("Назва закупівлі:")>:eq(1)> | ||
9 | -${locator.description} jquery=tender-subject-info>div.row:contains("Детальний опис закупівлі:")>:eq(1)> | ||
10 | -${locator.minimalStep.amount} jquery=tender-subject-info>div.row:contains("Мінімальний крок аукціону, грн.:")>:eq(1)> | ||
11 | -${locator.procuringEntity.name} jquery=customer-info>div.row:contains("Найменування:")>:eq(1)> | ||
12 | -${locator.value.amount} jquery=tender-subject-info>div.row:contains("Повний доступний бюджет закупівлі, грн.:")>:eq(1)> | ||
13 | -${locator.tenderPeriod.startDate} jquery=tender-procedure-info>div.row:contains("Початок прийому пропозицій:")>:eq(1)> | ||
14 | -${locator.tenderPeriod.endDate} jquery=tender-procedure-info>div.row:contains("Завершення прийому пропозицій:")>:eq(1)> | ||
15 | -${locator.enquiryPeriod.startDate} jquery=tender-procedure-info>div.row:contains("Початок періоду уточнень:")>:eq(1)> | ||
16 | -${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contains("Завершення періоду уточнень:")>:eq(1)> | ||
17 | - | ||
18 | 8 | ||
19 | *** Keywords *** | 9 | *** Keywords *** |
20 | Підготувати клієнт для користувача | 10 | Підготувати клієнт для користувача |
21 | - [Arguments] ${username} | 11 | + [Arguments] @{ARGUMENTS} |
22 | [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо | 12 | [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо |
23 | - Open Browser ${BROKERS['${USERS.users['${username}'].broker}'].url} ${USERS.users['${username}'].browser} alias=${username} | ||
24 | - Set Window Position @{USERS.users['${username}'].position} | ||
25 | - Set Window Size @{USERS.users['${username}'].size} | ||
26 | - Log Variables | 13 | + ... ${ARGUMENTS[0]} == username |
14 | + Open Browser ${BROKERS['${USERS.users['${ARGUMENTS[0]}'].broker}'].url} ${USERS.users['${ARGUMENTS[0]}'].browser} alias=${ARGUMENTS[0]} | ||
15 | + Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size} | ||
16 | + Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position} | ||
17 | + | ||
18 | +# login | ||
19 | + Wait Until Page Contains Element name=siteLogin 100 | ||
20 | + Input text name=siteLogin ${BROKERS['${USERS.users['${username}'].broker}'].login} | ||
21 | + Input text name=sitePass ${BROKERS['${USERS.users['${username}'].broker}'].password} | ||
22 | + Click Button xpath=.//*[@id='table1']/tbody/tr/td/form/p[3]/input | ||
23 | + | ||
24 | + Wait Until Page Contains Element jquery=a[href="/cabinet"] | ||
25 | + Click Element jquery=a[href="/cabinet"] | ||
26 | + Wait Until Page Contains Element name=email 100 | ||
27 | + Input text name=email mail | ||
28 | + Sleep 1 | ||
29 | + Input text name=email ${USERS.users['${username}'].login} | ||
30 | + Sleep 2 | ||
31 | + Input text name=psw ${USERS.users['${username}'].password} | ||
32 | + Wait Until Page Contains Element xpath=//button[contains(@class, 'btn')][./text()='Вхід в кабінет'] 100 | ||
33 | + Click Element xpath=//button[contains(@class, 'btn')][./text()='Вхід в кабінет'] | ||
34 | + | ||
35 | +Створити тендер | ||
36 | + [Arguments] @{ARGUMENTS} | ||
37 | + [Documentation] | ||
38 | + ... ${ARGUMENTS[0]} == username | ||
39 | + ... ${ARGUMENTS[1]} == tender_data | ||
40 | + | ||
41 | + ${items}= Get From Dictionary ${ARGUMENTS[1].data} items | ||
42 | + ${title}= Get From Dictionary ${ARGUMENTS[1].data} title | ||
43 | + ${description}= Get From Dictionary ${ARGUMENTS[1].data} description | ||
44 | + ${budget}= Get From Dictionary ${ARGUMENTS[1].data.value} amount | ||
45 | + ${step_rate}= Get From Dictionary ${ARGUMENTS[1].data.minimalStep} amount | ||
46 | + ${items_description}= Get From Dictionary ${ARGUMENTS[1].data} description | ||
47 | + ${quantity}= Get From Dictionary ${items[0]} quantity | ||
48 | + ${countryName}= Get From Dictionary ${ARGUMENTS[1].data.procuringEntity.address} countryName | ||
49 | + ${delivery_end_date}= Get From Dictionary ${items[0].deliveryDate} endDate | ||
50 | + ${delivery_end_date}= convert_date_to_slash_format ${delivery_end_date} | ||
51 | + ${cpv}= Get From Dictionary ${items[0].classification} description_ua | ||
52 | + ${cpv_id}= Get From Dictionary ${items[0].classification} id | ||
53 | + ${cpv_id1}= Replace String ${cpv_id} - _ | ||
54 | + ${dkpp_desc}= Get From Dictionary ${items[0].additionalClassifications[0]} description | ||
55 | + ${dkpp_id}= Get From Dictionary ${items[0].additionalClassifications[0]} id | ||
56 | + ${dkpp_id1}= Replace String ${dkpp_id} - _ | ||
57 | + ${enquiry_end_date}= Get From Dictionary ${ARGUMENTS[1].data.enquiryPeriod} endDate | ||
58 | + ${enquiry_end_date}= convert_date_to_slash_format ${enquiry_end_date} | ||
59 | + ${end_date}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} endDate | ||
60 | + ${end_date}= convert_date_to_slash_format ${end_date} | ||
61 | + | ||
62 | + Selenium2Library.Switch Browser ${ARGUMENTS[0]} | ||
63 | + Wait Until Page Contains Element jquery=a[href="/tenders/new"] 100 | ||
64 | + Click Element jquery=a[href="/tenders/new"] | ||
65 | + Wait Until Page Contains Element name=tender_title 100 | ||
66 | + Input text name=tender_title ${title} | ||
67 | + Input text name=tender_description ${description} | ||
68 | + Input text name=tender_value_amount ${budget} | ||
69 | + Input text name=tender_minimalStep_amount ${step_rate} | ||
70 | + Input text name=items[0][item_description] ${items_description} | ||
71 | + Input text name=items[0][item_quantity] ${quantity} | ||
72 | + Input text name=items[0][item_deliveryAddress_countryName] ${countryName} | ||
73 | + Input text name=items[0][item_deliveryDate_endDate] ${delivery_end_date} | ||
74 | + Click Element xpath=//a[contains(@data-class, 'cpv')][./text()='Визначити за довідником'] | ||
75 | + Select Frame xpath=//iframe[contains(@src,'/js/classifications/cpv/uk.htm?relation=true')] | ||
76 | + Input text id=search ${cpv} | ||
77 | + Wait Until Page Contains ${cpv_id} | ||
78 | + Click Element xpath=//a[contains(@id,'${cpv_id1}')] | ||
79 | + Click Element xpath=.//*[@id='select'] | ||
80 | + Unselect Frame | ||
81 | + Click Element xpath=//a[contains(@data-class, 'dkpp')][./text()='Визначити за довідником'] | ||
82 | + Select Frame xpath=//iframe[contains(@src,'/js/classifications/dkpp/uk.htm?relation=true')] | ||
83 | + Input text id=search ${dkpp_desc} | ||
84 | + Wait Until Page Contains ${dkpp_id} | ||
85 | + Click Element xpath=//a[contains(@id,'${dkpp_id1}')] | ||
86 | + Click Element xpath=.//*[@id='select'] | ||
87 | + Unselect Frame | ||
88 | + Input text name=tender_enquiryPeriod_endDate ${enquiry_end_date} | ||
89 | + Input text name=tender_tenderPeriod_endDate ${end_date} | ||
90 | + Run Keyword if '${mode}' == 'multi' Додати предмет items | ||
91 | + Wait Until Page Contains Element name=do 100 | ||
92 | + Click Element name=do | ||
93 | + Wait Until Page Contains Element xpath=//a[contains(@class, 'button pubBtn')] 100 | ||
94 | + Click Element xpath=//a[contains(@class, 'button pubBtn')] | ||
95 | + Wait Until Page Contains Тендер опубліковано 100 | ||
96 | + ${tender_UAid}= Get Text xpath=//*/section[6]/table/tbody/tr[2]/td[2] | ||
97 | + ${id}= Get Text xpath=//*/section[6]/table/tbody/tr[1]/td[2] | ||
98 | + ${Ids} Create List ${tender_UAid} ${id} | ||
99 | + [return] ${Ids} | ||
100 | + | ||
101 | +Додати предмет | ||
102 | + [Arguments] @{ARGUMENTS} | ||
103 | + [Documentation] | ||
104 | + ... ${ARGUMENTS[0]} == items | ||
105 | + ${dkpp_desc1}= Get From Dictionary ${items[1].additionalClassifications[0]} description | ||
106 | + ${dkpp_id11}= Get From Dictionary ${items[1].additionalClassifications[0]} id | ||
107 | + ${dkpp_1id}= Replace String ${dkpp_id11} - _ | ||
108 | + ${dkpp_desc2}= Get From Dictionary ${items[2].additionalClassifications[0]} description | ||
109 | + ${dkpp_id2}= Get From Dictionary ${items[2].additionalClassifications[0]} id | ||
110 | + ${dkpp_id2_1}= Replace String ${dkpp_id2} - _ | ||
111 | + ${dkpp_desc3}= Get From Dictionary ${items[3].additionalClassifications[0]} description | ||
112 | + ${dkpp_id3}= Get From Dictionary ${items[3].additionalClassifications[0]} id | ||
113 | + ${dkpp_id3_1}= Replace String ${dkpp_id3} - _ | ||
114 | + | ||
115 | + Wait Until Page Contains Element xpath=//a[contains(@class, 'addMultiItem')][./text()='Додати предмет закупівлі'] | ||
116 | + Click Element xpath=//a[contains(@class, 'addMultiItem')][./text()='Додати предмет закупівлі'] | ||
117 | + Wait Until Page Contains Element name=items[1][item_description] 100 | ||
118 | + Input text name=items[1][item_description] ${description} | ||
119 | + Input text name=items[1][item_quantity] ${quantity} | ||
120 | + Click Element xpath=(//a[contains(@data-class, 'cpv')][./text()='Визначити за довідником'])[2] | ||
121 | + Select Frame xpath=//iframe[contains(@src,'/js/classifications/cpv/uk.htm?relation=true')] | ||
122 | + Input text id=search ${cpv} | ||
123 | + Wait Until Page Contains ${cpv_id} | ||
124 | + Click Element xpath=//a[contains(@id,'${cpv_id1}')] | ||
125 | + Click Element xpath=.//*[@id='select'] | ||
126 | + Unselect Frame | ||
127 | + Click Element xpath=(//a[contains(@data-class, 'dkpp')][./text()='Визначити за довідником'])[2] | ||
128 | + Select Frame xpath=//iframe[contains(@src,'/js/classifications/dkpp/uk.htm?relation=true')] | ||
129 | + Input text id=search ${dkpp_desc1} | ||
130 | + Wait Until Page Contains ${dkpp_id11} | ||
131 | + Click Element xpath=//a[contains(@id,'${dkpp_1id}')] | ||
132 | + Click Element xpath=.//*[@id='select'] | ||
133 | + Unselect Frame | ||
134 | + Click Element xpath=//a[contains(@class, 'addMultiItem')][./text()='Додати предмет закупівлі'] | ||
135 | + Wait Until Page Contains Element name=items[2][item_description] 100 | ||
136 | + Input text name=items[2][item_description] ${description} | ||
137 | + Input text name=items[2][item_quantity] ${quantity} | ||
138 | + Click Element xpath=(//a[contains(@data-class, 'cpv')][./text()='Визначити за довідником'])[3] | ||
139 | + Select Frame xpath=//iframe[contains(@src,'/js/classifications/cpv/uk.htm?relation=true')] | ||
140 | + Input text id=search ${cpv} | ||
141 | + Wait Until Page Contains ${cpv_id} | ||
142 | + Click Element xpath=//a[contains(@id,'${cpv_id1}')] | ||
143 | + Click Element xpath=.//*[@id='select'] | ||
144 | + Unselect Frame | ||
145 | + Click Element xpath=(//a[contains(@data-class, 'dkpp')][./text()='Визначити за довідником'])[3] | ||
146 | + Select Frame xpath=//iframe[contains(@src,'/js/classifications/dkpp/uk.htm?relation=true')] | ||
147 | + Input text id=search ${dkpp_desc2} | ||
148 | + Wait Until Page Contains ${dkpp_id2} | ||
149 | + Click Element xpath=//a[contains(@id,'${dkpp_id2_1}')] | ||
150 | + Click Element xpath=.//*[@id='select'] | ||
151 | + Unselect Frame | ||
152 | + Click Element xpath=//a[contains(@class, 'addMultiItem')][./text()='Додати предмет закупівлі'] | ||
153 | + Wait Until Page Contains Element name=items[3][item_description] 100 | ||
154 | + Input text name=items[3][item_description] ${description} | ||
155 | + Input text name=items[3][item_quantity] ${quantity} | ||
156 | + Click Element xpath=(//a[contains(@data-class, 'cpv')][./text()='Визначити за довідником'])[4] | ||
157 | + Select Frame xpath=//iframe[contains(@src,'/js/classifications/cpv/uk.htm?relation=true')] | ||
158 | + Input text id=search ${cpv} | ||
159 | + Wait Until Page Contains ${cpv_id} | ||
160 | + Click Element xpath=//a[contains(@id,'${cpv_id1}')] | ||
161 | + Click Element xpath=.//*[@id='select'] | ||
162 | + Unselect Frame | ||
163 | + Click Element xpath=(//a[contains(@data-class, 'dkpp')][./text()='Визначити за довідником'])[4] | ||
164 | + Select Frame xpath=//iframe[contains(@src,'/js/classifications/dkpp/uk.htm?relation=true')] | ||
165 | + Input text id=search ${dkpp_desc3} | ||
166 | + Wait Until Page Contains ${dkpp_id3} | ||
167 | + Click Element xpath=//a[contains(@id,'${dkpp_id3_1}')] | ||
168 | + Click Element xpath=.//*[@id='select'] | ||
169 | + Unselect Frame | ||
170 | + Input text name=tender_enquiryPeriod_endDate ${enquiry_end_date} | ||
171 | + Input text name=tender_tenderPeriod_endDate ${end_date} | ||
27 | 172 | ||
28 | Пошук тендера по ідентифікатору | 173 | Пошук тендера по ідентифікатору |
29 | [Arguments] @{ARGUMENTS} | 174 | [Arguments] @{ARGUMENTS} |
@@ -149,13 +149,13 @@ ${question_id} 0 | @@ -149,13 +149,13 @@ ${question_id} 0 | ||
149 | Set_To_Object ${TENDER_DATA.data} items ${items} | 149 | Set_To_Object ${TENDER_DATA.data} items ${items} |
150 | ${TENDER_DATA}= set_access_key ${TENDER_DATA} ${USERS.users['${ARGUMENTS[0]}'].access_token} | 150 | ${TENDER_DATA}= set_access_key ${TENDER_DATA} ${USERS.users['${ARGUMENTS[0]}'].access_token} |
151 | ${TENDER_DATA}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_tender ${TENDER_DATA} | 151 | ${TENDER_DATA}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_tender ${TENDER_DATA} |
152 | - | 152 | + |
153 | 153 | ||
154 | Задати питання | 154 | Задати питання |
155 | [Documentation] | 155 | [Documentation] |
156 | ... ${ARGUMENTS[0]} == username | 156 | ... ${ARGUMENTS[0]} == username |
157 | ... ${ARGUMENTS[1]} == tender_uid | 157 | ... ${ARGUMENTS[1]} == tender_uid |
158 | - ... ${ARGUMENTS[2]} == bid | 158 | + ... ${ARGUMENTS[2]} == question |
159 | [Arguments] @{ARGUMENTS} | 159 | [Arguments] @{ARGUMENTS} |
160 | log many @{ARGUMENTS} | 160 | log many @{ARGUMENTS} |
161 | ${internalid}= отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | 161 | ${internalid}= отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} |
@@ -163,7 +163,7 @@ ${question_id} 0 | @@ -163,7 +163,7 @@ ${question_id} 0 | ||
163 | log ${USERS.users['${ARGUMENTS[0]}']} | 163 | log ${USERS.users['${ARGUMENTS[0]}']} |
164 | ${biddingresponce}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} create_question ${tender} ${ARGUMENTS[2]} | 164 | ${biddingresponce}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} create_question ${tender} ${ARGUMENTS[2]} |
165 | [return] ${biddingresponce} | 165 | [return] ${biddingresponce} |
166 | - | 166 | + |
167 | Відповісти на питання | 167 | Відповісти на питання |
168 | [Documentation] | 168 | [Documentation] |
169 | ... ${ARGUMENTS[0]} == username | 169 | ... ${ARGUMENTS[0]} == username |
@@ -192,7 +192,7 @@ ${question_id} 0 | @@ -192,7 +192,7 @@ ${question_id} 0 | ||
192 | ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | 192 | ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} |
193 | ${complaint}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} _create_tender_resource_item ${tender} ${ARGUMENTS[2]} complaints | 193 | ${complaint}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} _create_tender_resource_item ${tender} ${ARGUMENTS[2]} complaints |
194 | Log object data ${complaint} complaint | 194 | Log object data ${complaint} complaint |
195 | - | 195 | + |
196 | порівняти скаргу | 196 | порівняти скаргу |
197 | [Documentation] | 197 | [Documentation] |
198 | ... ${ARGUMENTS[0]} == username | 198 | ... ${ARGUMENTS[0]} == username |
@@ -209,7 +209,7 @@ ${question_id} 0 | @@ -209,7 +209,7 @@ ${question_id} 0 | ||
209 | #:FOR ${element} IN ${ARGUMENTS[2].data} | 209 | #:FOR ${element} IN ${ARGUMENTS[2].data} |
210 | #\ log ${element} | 210 | #\ log ${element} |
211 | #\ Dictionary Should Contain Value ${complaint} ${element} | 211 | #\ Dictionary Should Contain Value ${complaint} ${element} |
212 | - | 212 | + |
213 | Обробити скаргу | 213 | Обробити скаргу |
214 | [Documentation] | 214 | [Documentation] |
215 | ... ${ARGUMENTS[0]} == username | 215 | ... ${ARGUMENTS[0]} == username |
@@ -238,7 +238,7 @@ ${question_id} 0 | @@ -238,7 +238,7 @@ ${question_id} 0 | ||
238 | log ${tender}отримати | 238 | log ${tender}отримати |
239 | ${biddingresponce}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} create_bid ${tender} ${ARGUMENTS[2]} | 239 | ${biddingresponce}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} create_bid ${tender} ${ARGUMENTS[2]} |
240 | [return] ${biddingresponce} | 240 | [return] ${biddingresponce} |
241 | - | 241 | + |
242 | Змінити цінову пропозицію | 242 | Змінити цінову пропозицію |
243 | [Documentation] | 243 | [Documentation] |
244 | ... ${ARGUMENTS[0]} == username | 244 | ... ${ARGUMENTS[0]} == username |
@@ -264,7 +264,7 @@ ${question_id} 0 | @@ -264,7 +264,7 @@ ${question_id} 0 | ||
264 | ${changed_bid}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} delete_bid ${tender} ${ARGUMENTS[2]} | 264 | ${changed_bid}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} delete_bid ${tender} ${ARGUMENTS[2]} |
265 | Log ${changed_bid} | 265 | Log ${changed_bid} |
266 | [return] ${changed_bid} | 266 | [return] ${changed_bid} |
267 | - | 267 | + |
268 | Прийняти цінову пропозицію | 268 | Прийняти цінову пропозицію |
269 | [Documentation] | 269 | [Documentation] |
270 | ... ${ARGUMENTS[0]} == username | 270 | ... ${ARGUMENTS[0]} == username |
@@ -286,14 +286,20 @@ ${question_id} 0 | @@ -286,14 +286,20 @@ ${question_id} 0 | ||
286 | [Arguments] @{ARGUMENTS} | 286 | [Arguments] @{ARGUMENTS} |
287 | log ${ARGUMENTS[0]} | 287 | log ${ARGUMENTS[0]} |
288 | log ${ARGUMENTS[1]} | 288 | log ${ARGUMENTS[1]} |
289 | + | ||
290 | + # Built-in variables related to the operating system ease making the test data operating-system-agnostic. | ||
291 | + log ${TEMPDIR} # An absolute path to the directory where the test data file is located. This variable is case-sensitive. | ||
292 | + log ${CURDIR} # An absolute path to the system temporary directory. In UNIX-like systems this is typically /tmp, and in Windows c:\Documents and Settings\<user>\Local Settings\Temp. | ||
293 | + | ||
294 | + ${filecontent} = Set Variable somestring | ||
295 | + ${created_file_path}= create_file ${filecontent} | ||
289 | ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${TENDER_DATA.data.id} | 296 | ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${TENDER_DATA.data.id} |
290 | ${tender}= set_access_key ${tender} ${ARGUMENTS[1]} | 297 | ${tender}= set_access_key ${tender} ${ARGUMENTS[1]} |
291 | - ${filename}= Set Variable file.txt | ||
292 | - Set_To_Object ${TENDER_DATA.data} documents.title ${filename} | ||
293 | - ${reply}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} upload_bid_document ${filename} ${tender} ${ARGUMENTS[2]} | ||
294 | - Log object data ${reply} reply | ||
295 | - [return] ${reply} | ||
296 | - | 298 | + ${responce}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} upload_bid_document ${created_file_path} ${tender} ${ARGUMENTS[2]} |
299 | + ${uploaded_file} = Create Dictionary filepath ${created_file_path} filecontent ${filecontent} upload_responce ${responce} | ||
300 | + Log object data ${uploaded_file} | ||
301 | + [return] ${uploaded_file} | ||
302 | + | ||
297 | Змінити документ в ставці | 303 | Змінити документ в ставці |
298 | [Documentation] | 304 | [Documentation] |
299 | ... ${ARGUMENTS[0]} == username | 305 | ... ${ARGUMENTS[0]} == username |
@@ -310,7 +316,7 @@ ${question_id} 0 | @@ -310,7 +316,7 @@ ${question_id} 0 | ||
310 | ${filename}= Set Variable newfile.txt | 316 | ${filename}= Set Variable newfile.txt |
311 | Set_To_Object ${TENDER_DATA.data} documents.title ${filename} | 317 | Set_To_Object ${TENDER_DATA.data} documents.title ${filename} |
312 | ${reply}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} update_bid_document ${filename} ${tender} ${ARGUMENTS[2]} ${ARGUMENTS[3]} | 318 | ${reply}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} update_bid_document ${filename} ${tender} ${ARGUMENTS[2]} ${ARGUMENTS[3]} |
313 | - Log object data ${reply} replyотримати | 319 | + Log object data ${reply} reply |
314 | 320 | ||
315 | Завантажити документ | 321 | Завантажити документ |
316 | [Documentation] | 322 | [Documentation] |
@@ -327,4 +333,33 @@ ${question_id} 0 | @@ -327,4 +333,33 @@ ${question_id} 0 | ||
327 | Set_To_Object ${TENDER_DATA.data} documents.title ${filename} | 333 | Set_To_Object ${TENDER_DATA.data} documents.title ${filename} |
328 | ${reply}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} upload_tender_document ${filename} ${tender} | 334 | ${reply}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} upload_tender_document ${filename} ${tender} |
329 | Log object data ${reply} reply | 335 | Log object data ${reply} reply |
330 | - | ||
336 | + | ||
337 | +Отримати пропозиції | ||
338 | + [Documentation] | ||
339 | + ... ${ARGUMENTS[0]} == username | ||
340 | + ... ${ARGUMENTS[1]} == tender_uid | ||
341 | + ... ${ARGUMENTS[2]} == bid_id | ||
342 | + ... ${ARGUMENTS[3]} == token | ||
343 | + [Arguments] @{ARGUMENTS} | ||
344 | + ${internalid}= отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | ||
345 | + ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | ||
346 | + ${bids}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_bid ${tender} ${ARGUMENTS[2]} ${ARGUMENTS[3]} | ||
347 | + Log ${bids} | ||
348 | + [return] ${bids} | ||
349 | + | ||
350 | +отримати документ | ||
351 | + [Documentation] | ||
352 | + ... ${ARGUMENTS[0]} == username | ||
353 | + ... ${ARGUMENTS[1]} == tenderUaID | ||
354 | + ... ${ARGUMENTS[2]} == url | ||
355 | + ... ${ARGUMENTS[3]} == token | ||
356 | + [Arguments] @{ARGUMENTS} | ||
357 | + log ${ARGUMENTS[0]} | ||
358 | + log ${ARGUMENTS[1]} | ||
359 | + log ${ARGUMENTS[2]} | ||
360 | + ${tenderID}= openprocurement_client.отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | ||
361 | + ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${tenderID} | ||
362 | + ${contents} ${filename}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_file ${tender} ${ARGUMENTS[2]} ${ARGUMENTS[3]} | ||
363 | + log ${contents} | ||
364 | + log ${filename} | ||
365 | + [return] ${contents} ${filename} |
@@ -24,8 +24,18 @@ Publicbid: | @@ -24,8 +24,18 @@ Publicbid: | ||
24 | period_interval: 2 | 24 | period_interval: 2 |
25 | Netcast: | 25 | Netcast: |
26 | keywords_file: netcast | 26 | keywords_file: netcast |
27 | - url: http://dz2.byustudio.in.ua | 27 | + url: "http://dz2.byustudio.in.ua" |
28 | + login: admin | ||
29 | + password: uStudio | ||
28 | timout_on_wait: 15 | 30 | timout_on_wait: 15 |
31 | + period_interval: 2 | ||
32 | +Netcast: | ||
33 | + keywords_file: netcast | ||
34 | + url: "http://dz2.byustudio.in.ua" | ||
35 | + login: admin | ||
36 | + password: uStudio | ||
37 | + timout_on_wait: 15 | ||
38 | + period_interval: 2 | ||
29 | Newtend: | 39 | Newtend: |
30 | keywords_file: newtend | 40 | keywords_file: newtend |
31 | url: http://openprocurement:test@dev23.newtend.com | 41 | url: http://openprocurement:test@dev23.newtend.com |
@@ -19,7 +19,7 @@ users: | @@ -19,7 +19,7 @@ users: | ||
19 | password: Password1 | 19 | password: Password1 |
20 | browser: firefox | 20 | browser: firefox |
21 | position: [0, 0] | 21 | position: [0, 0] |
22 | - size: [640, 450] | 22 | + size: [740, 550] |
23 | E-tender_Provider1: | 23 | E-tender_Provider1: |
24 | broker: E-tender | 24 | broker: E-tender |
25 | username: E-tendertest | 25 | username: E-tendertest |
@@ -83,6 +83,15 @@ users: | @@ -83,6 +83,15 @@ users: | ||
83 | browser: firefox | 83 | browser: firefox |
84 | position: [0, 0] | 84 | position: [0, 0] |
85 | size: [640, 450] | 85 | size: [640, 450] |
86 | + Netcast_Owner: | ||
87 | + broker: Netcast | ||
88 | + username: Netcasttest | ||
89 | + homepage: "http://dz2.byustudio.in.ua" | ||
90 | + login: ovramet.s@gmail.com | ||
91 | + password: Password1 | ||
92 | + browser: firefox | ||
93 | + position: [0, 450] | ||
94 | + size: [640, 450] | ||
86 | Newtend_Provider1: | 95 | Newtend_Provider1: |
87 | broker: Newtend | 96 | broker: Newtend |
88 | username: Newtendtest | 97 | username: Newtendtest |
@@ -90,8 +99,17 @@ users: | @@ -90,8 +99,17 @@ users: | ||
90 | login: qtest@mailinator.com | 99 | login: qtest@mailinator.com |
91 | password: 123123 | 100 | password: 123123 |
92 | browser: firefox | 101 | browser: firefox |
93 | - position: [700, 0] | ||
94 | - size: [640, 450] | 102 | + position: [0, 450] |
103 | + size: [640, 450] | ||
104 | + Publicbid_Owner: | ||
105 | + broker: Publicbid | ||
106 | + username: Publicbid | ||
107 | + homepage: "https://public-bid.com.ua/test/" | ||
108 | + login: yaroslav1boyko@gmail.com | ||
109 | + password: Password1 | ||
110 | + browser: firefox | ||
111 | + position: [0, 0] | ||
112 | + size: [740, 550] | ||
95 | Newtend_Provider2: | 113 | Newtend_Provider2: |
96 | broker: Newtend | 114 | broker: Newtend |
97 | username: Newtendtest | 115 | username: Newtendtest |
@@ -66,7 +66,7 @@ def test_tender_data(period_interval=2): | @@ -66,7 +66,7 @@ def test_tender_data(period_interval=2): | ||
66 | "scheme": u"CPV", | 66 | "scheme": u"CPV", |
67 | "id": u"44617100-9", | 67 | "id": u"44617100-9", |
68 | "description": u"Cartons", | 68 | "description": u"Cartons", |
69 | - "description_ua": u"Картонки" | 69 | + "description_ua": u"Картонки", |
70 | }, | 70 | }, |
71 | "additionalClassifications": [ | 71 | "additionalClassifications": [ |
72 | { | 72 | { |
@@ -134,7 +134,7 @@ def prom_test_tender_data(): | @@ -134,7 +134,7 @@ def prom_test_tender_data(): | ||
134 | { | 134 | { |
135 | "description": fake.catch_phrase(), | 135 | "description": fake.catch_phrase(), |
136 | "deliveryDate": { | 136 | "deliveryDate": { |
137 | - "startDate": (now + timedelta(days=4)).isoformat(), | 137 | + "startDate": (now + timedelta(days=4)).isoformat(), |
138 | "endDate": (now + timedelta(days=5)).isoformat() | 138 | "endDate": (now + timedelta(days=5)).isoformat() |
139 | }, | 139 | }, |
140 | "deliveryLocation": { | 140 | "deliveryLocation": { |
@@ -206,15 +206,15 @@ def test_tender_data_multiple_lots(period_interval=2): | @@ -206,15 +206,15 @@ def test_tender_data_multiple_lots(period_interval=2): | ||
206 | "name": fake.name(), | 206 | "name": fake.name(), |
207 | "telephone": fake.phone_number() | 207 | "telephone": fake.phone_number() |
208 | } | 208 | } |
209 | - }, | ||
210 | - "value": { | 209 | + }, |
210 | + "value": { | ||
211 | "amount": 50000, | 211 | "amount": 50000, |
212 | "currency": u"UAH" | 212 | "currency": u"UAH" |
213 | }, | 213 | }, |
214 | "minimalStep": { | 214 | "minimalStep": { |
215 | - "amount": 100, | ||
216 | - "currency": u"UAH" | ||
217 | - }, | 215 | + "amount": 100, |
216 | + "currency": u"UAH" | ||
217 | + }, | ||
218 | "items": [ | 218 | "items": [ |
219 | { | 219 | { |
220 | "description": fake.catch_phrase(), | 220 | "description": fake.catch_phrase(), |
@@ -236,7 +236,7 @@ def test_tender_data_multiple_lots(period_interval=2): | @@ -236,7 +236,7 @@ def test_tender_data_multiple_lots(period_interval=2): | ||
236 | "scheme": u"CPV", | 236 | "scheme": u"CPV", |
237 | "id": u"44617100-9", | 237 | "id": u"44617100-9", |
238 | "description": u"Cartons", | 238 | "description": u"Cartons", |
239 | - "description_ua": u"Картонки" | 239 | + "description_ua": u"Картонки", |
240 | }, | 240 | }, |
241 | "additionalClassifications": [ | 241 | "additionalClassifications": [ |
242 | { | 242 | { |
@@ -358,12 +358,12 @@ def test_tender_data_multiple_lots(period_interval=2): | @@ -358,12 +358,12 @@ def test_tender_data_multiple_lots(period_interval=2): | ||
358 | } | 358 | } |
359 | ], | 359 | ], |
360 | "enquiryPeriod": { | 360 | "enquiryPeriod": { |
361 | - "startDate": (now).isoformat(), | ||
362 | - "endDate": (now + timedelta(minutes=1)).isoformat() | 361 | + "startDate": (now + timedelta(minutes=3)).isoformat(), |
362 | + "endDate": (now + timedelta(minutes=4)).isoformat() | ||
363 | }, | 363 | }, |
364 | "tenderPeriod": { | 364 | "tenderPeriod": { |
365 | - "startDate": (now + timedelta(minutes=2)).isoformat(), | ||
366 | - "endDate": (now + timedelta(minutes=(2+period_interval))).isoformat() | 365 | + "startDate": (now + timedelta(minutes=4)).isoformat(), |
366 | + "endDate": (now + timedelta(minutes=(5+period_interval))).isoformat() | ||
367 | } | 367 | } |
368 | } | 368 | } |
369 | 369 | ||
@@ -465,7 +465,7 @@ def test_bid_data(): | @@ -465,7 +465,7 @@ def test_bid_data(): | ||
465 | } | 465 | } |
466 | } | 466 | } |
467 | }) | 467 | }) |
468 | - | 468 | + |
469 | def auction_bid(): | 469 | def auction_bid(): |
470 | return munchify({ | 470 | return munchify({ |
471 | "data": {"value": { | 471 | "data": {"value": { |
@@ -25,9 +25,9 @@ ${LOAD_USERS} ["${tender_owner}", "${provider}", "${viewer}"] | @@ -25,9 +25,9 @@ ${LOAD_USERS} ["${tender_owner}", "${provider}", "${viewer}"] | ||
25 | 25 | ||
26 | Можливість оголосити багатопредметний тендер | 26 | Можливість оголосити багатопредметний тендер |
27 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер | 27 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер |
28 | - ${ids}= Викликати для учасника ${tender_owner} Створити тендер ${INITIAL_TENDER_DATA} | ||
29 | - ${TENDER_ID}= Get From List ${ids} 0 | ||
30 | - ${INTERNAL_TENDER_ID}= Get From List ${ids} 1 | 28 | + ${ids}= Викликати для учасника ${tender_owner} Створити тендер ${INITIAL_TENDER_DATA} |
29 | + ${TENDER_ID}= Get From List ${ids} 0 | ||
30 | + ${INTERNAL_TENDER_ID}= Get From List ${ids} 1 | ||
31 | Set Global Variable ${INTERNAL_TENDER_ID} | 31 | Set Global Variable ${INTERNAL_TENDER_ID} |
32 | Set Global Variable ${TENDER_ID} | 32 | Set Global Variable ${TENDER_ID} |
33 | ${LAST_MODIFICATION_DATE}= Get Current Date | 33 | ${LAST_MODIFICATION_DATE}= Get Current Date |
@@ -36,12 +36,12 @@ ${LOAD_USERS} ["${tender_owner}", "${provider}", "${viewer}"] | @@ -36,12 +36,12 @@ ${LOAD_USERS} ["${tender_owner}", "${provider}", "${viewer}"] | ||
36 | Отримати багатопредметний тендер по ідентифікатору | 36 | Отримати багатопредметний тендер по ідентифікатору |
37 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору | 37 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору |
38 | Дочекатись синхронізації з майданчиком ${viewer} | 38 | Дочекатись синхронізації з майданчиком ${viewer} |
39 | - Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER_ID} ${INTERNAL_TENDER_ID} | ||
40 | - | 39 | + Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER_ID} ${INTERNAL_TENDER_ID} |
40 | + | ||
41 | Відображення опису позицій закупівлі багатопредметного тендера | 41 | Відображення опису позицій закупівлі багатопредметного тендера |
42 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 42 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
43 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} description | 43 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} description |
44 | - | 44 | + |
45 | Відображення дати доставки позицій закупівлі багатопредметного тендера | 45 | Відображення дати доставки позицій закупівлі багатопредметного тендера |
46 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 46 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
47 | Звірити дату предметів закупівлі багатопредметного тендера ${viewer} deliveryDate.endDate | 47 | Звірити дату предметів закупівлі багатопредметного тендера ${viewer} deliveryDate.endDate |
@@ -49,11 +49,11 @@ ${LOAD_USERS} ["${tender_owner}", "${provider}", "${viewer}"] | @@ -49,11 +49,11 @@ ${LOAD_USERS} ["${tender_owner}", "${provider}", "${viewer}"] | ||
49 | Відображення координат широти доставки позицій закупівлі багатопредметного тендера | 49 | Відображення координат широти доставки позицій закупівлі багатопредметного тендера |
50 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 50 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
51 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryLocation.latitude | 51 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryLocation.latitude |
52 | - | 52 | + |
53 | Відображення координат довготи доставки позицій закупівлі багатопредметного тендера | 53 | Відображення координат довготи доставки позицій закупівлі багатопредметного тендера |
54 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 54 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
55 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryLocation.longitude | 55 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryLocation.longitude |
56 | - | 56 | + |
57 | Відображення назви нас. пункту доставки позицій закупівлі багатопредметного тендера | 57 | Відображення назви нас. пункту доставки позицій закупівлі багатопредметного тендера |
58 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 58 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
59 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryAddress.countryName | 59 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryAddress.countryName |
@@ -61,53 +61,53 @@ ${LOAD_USERS} ["${tender_owner}", "${provider}", "${viewer}"] | @@ -61,53 +61,53 @@ ${LOAD_USERS} ["${tender_owner}", "${provider}", "${viewer}"] | ||
61 | Відображення пошт коду доставки позицій закупівлі багатопредметного тендера | 61 | Відображення пошт коду доставки позицій закупівлі багатопредметного тендера |
62 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 62 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
63 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryAddress.postalCode | 63 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryAddress.postalCode |
64 | - | 64 | + |
65 | Відображення регіону доставки позицій закупівлі багатопредметного тендера | 65 | Відображення регіону доставки позицій закупівлі багатопредметного тендера |
66 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 66 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
67 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryAddress.region | 67 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryAddress.region |
68 | - | 68 | + |
69 | Відображення locality адреси доставки позицій закупівлі багатопредметного тендера | 69 | Відображення locality адреси доставки позицій закупівлі багатопредметного тендера |
70 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 70 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
71 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryAddress.locality | 71 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryAddress.locality |
72 | - | 72 | + |
73 | Відображення вулиці доставки позицій закупівлі багатопредметного тендера | 73 | Відображення вулиці доставки позицій закупівлі багатопредметного тендера |
74 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 74 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
75 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryAddress.streetAddress | 75 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} deliveryAddress.streetAddress |
76 | - | 76 | + |
77 | Відображення схеми класифікації позицій закупівлі багатопредметного тендера | 77 | Відображення схеми класифікації позицій закупівлі багатопредметного тендера |
78 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 78 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
79 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} classification.scheme | 79 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} classification.scheme |
80 | - | 80 | + |
81 | Відображення ідентифйікатора класифікації позицій закупівлі багатопредметного тендера | 81 | Відображення ідентифйікатора класифікації позицій закупівлі багатопредметного тендера |
82 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 82 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
83 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} classification.id | 83 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} classification.id |
84 | - | 84 | + |
85 | Відображення опису класифікації позицій закупівлі багатопредметного тендера | 85 | Відображення опису класифікації позицій закупівлі багатопредметного тендера |
86 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 86 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
87 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} classification.description | 87 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} classification.description |
88 | - | 88 | + |
89 | Відображення схеми додаткової класифікації позицій закупівлі багатопредметного тендера | 89 | Відображення схеми додаткової класифікації позицій закупівлі багатопредметного тендера |
90 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 90 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
91 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} additionalClassifications.scheme | 91 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} additionalClassifications.scheme |
92 | - | 92 | + |
93 | Відображення ідентифікатора додаткової класифікації позицій закупівлі багатопредметного тендера | 93 | Відображення ідентифікатора додаткової класифікації позицій закупівлі багатопредметного тендера |
94 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 94 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
95 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} additionalClassifications.id | 95 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} additionalClassifications.id |
96 | - | 96 | + |
97 | Відображення опису додаткової класифікації позицій закупівлі багатопредметного тендера | 97 | Відображення опису додаткової класифікації позицій закупівлі багатопредметного тендера |
98 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 98 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
99 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} additionalClassifications.description | 99 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} additionalClassifications.description |
100 | - | 100 | + |
101 | Відображення назви одиниці позицій закупівлі багатопредметного тендера | 101 | Відображення назви одиниці позицій закупівлі багатопредметного тендера |
102 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 102 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
103 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} unit.name | 103 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} unit.name |
104 | - | 104 | + |
105 | Відображення коду одиниці позицій закупівлі багатопредметного тендера | 105 | Відображення коду одиниці позицій закупівлі багатопредметного тендера |
106 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 106 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
107 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} unit.code | 107 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} unit.code |
108 | - | 108 | + |
109 | Відображення кількості позицій закупівлі багатопредметного тендера | 109 | Відображення кількості позицій закупівлі багатопредметного тендера |
110 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | 110 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера |
111 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} quantity | 111 | Звірити поля предметів закупівлі багатопредметного тендера ${viewer} quantity |
112 | - | ||
113 | - | 112 | + |
113 | + |
1 | +#!/usr/bin/env python | ||
1 | # -*- coding: utf-8 - | 2 | # -*- coding: utf-8 - |
2 | import os | 3 | import os |
3 | from munch import munchify, Munch, fromYAML | 4 | from munch import munchify, Munch, fromYAML |
@@ -22,9 +23,15 @@ from .initial_data import ( | @@ -22,9 +23,15 @@ from .initial_data import ( | ||
22 | import calendar | 23 | import calendar |
23 | 24 | ||
24 | TIMEZONE = timezone('Europe/Kiev') | 25 | TIMEZONE = timezone('Europe/Kiev') |
26 | + | ||
25 | def get_date(): | 27 | def get_date(): |
26 | return datetime.now().isoformat() | 28 | return datetime.now().isoformat() |
27 | 29 | ||
30 | +def convert_date_to_slash_format(isodate): | ||
31 | + iso_dt=parse_date(isodate) | ||
32 | + date_string = iso_dt.strftime("%d/%m/%Y") | ||
33 | + return date_string | ||
34 | + | ||
28 | def convert_date_to_etender_format(isodate): | 35 | def convert_date_to_etender_format(isodate): |
29 | iso_dt=parse_date(isodate) | 36 | iso_dt=parse_date(isodate) |
30 | date_string = iso_dt.strftime("%d-%m-%Y") | 37 | date_string = iso_dt.strftime("%d-%m-%Y") |
@@ -168,4 +175,4 @@ def newtend_date_picker_index(isodate): | @@ -168,4 +175,4 @@ def newtend_date_picker_index(isodate): | ||
168 | #LOGGER.log_message(Message("last_day_of_month: {}".format(last_day_of_month), "INFO")) | 175 | #LOGGER.log_message(Message("last_day_of_month: {}".format(last_day_of_month), "INFO")) |
169 | if now.day>iso_dt.day: | 176 | if now.day>iso_dt.day: |
170 | mod = calendar.monthrange(now.year, now.month)[1] + mod | 177 | mod = calendar.monthrange(now.year, now.month)[1] + mod |
171 | - return mod + iso_dt.day | ||
178 | + return mod + iso_dt.day |
@@ -26,6 +26,8 @@ ${question_id} 0 | @@ -26,6 +26,8 @@ ${question_id} 0 | ||
26 | *** Test Cases *** | 26 | *** Test Cases *** |
27 | Можливість оголосити однопредметний тендер | 27 | Можливість оголосити однопредметний тендер |
28 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер | 28 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер |
29 | + log ${TEMPDIR} | ||
30 | + log ${CURDIR} | ||
29 | ${ids}= Викликати для учасника ${tender_owner} Створити тендер ${INITIAL_TENDER_DATA} | 31 | ${ids}= Викликати для учасника ${tender_owner} Створити тендер ${INITIAL_TENDER_DATA} |
30 | ${TENDER_ID}= Get From List ${ids} 0 | 32 | ${TENDER_ID}= Get From List ${ids} 0 |
31 | Set Global Variable ${TENDER_ID} | 33 | Set Global Variable ${TENDER_ID} |
@@ -35,7 +37,6 @@ ${question_id} 0 | @@ -35,7 +37,6 @@ ${question_id} 0 | ||
35 | Можливасть додати тендерну документацію | 37 | Можливасть додати тендерну документацію |
36 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість завантажити документ | 38 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість завантажити документ |
37 | ${filename}= Set Variable file.txt | 39 | ${filename}= Set Variable file.txt |
38 | - | ||
39 | Викликати для учасника ${tender_owner} Завантажити документ ${filename} ${TENDER_ID} | 40 | Викликати для учасника ${tender_owner} Завантажити документ ${filename} ${TENDER_ID} |
40 | 41 | ||
41 | Можливість подати скаргу на умови | 42 | Можливість подати скаргу на умови |
@@ -265,7 +266,7 @@ ${question_id} 0 | @@ -265,7 +266,7 @@ ${question_id} 0 | ||
265 | [Tags] ${USERS.users['${provider}'].broker}: Можливість скасувати цінову пропозицію | 266 | [Tags] ${USERS.users['${provider}'].broker}: Можливість скасувати цінову пропозицію |
266 | ${biddingresponce_0}= Викликати для учасника ${provider} скасувати цінову пропозицію ${TENDER_ID} ${biddingresponce0} | 267 | ${biddingresponce_0}= Викликати для учасника ${provider} скасувати цінову пропозицію ${TENDER_ID} ${biddingresponce0} |
267 | 268 | ||
268 | -Подати цінову пропозицію bidder1 | 269 | +Подати повторно цінову пропозицію першим учасником |
269 | [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію | 270 | [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію |
270 | Дочекатись дати початоку прийому пропозицій | 271 | Дочекатись дати початоку прийому пропозицій |
271 | ${bid}= test bid data | 272 | ${bid}= test bid data |
@@ -274,7 +275,7 @@ ${question_id} 0 | @@ -274,7 +275,7 @@ ${question_id} 0 | ||
274 | Set Global Variable ${biddingresponce1} | 275 | Set Global Variable ${biddingresponce1} |
275 | log ${biddingresponce1} | 276 | log ${biddingresponce1} |
276 | 277 | ||
277 | -Можливість змінити цінову пропозицію до 50000 | 278 | +Можливість змінити повторну цінову пропозицію до 50000 |
278 | [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію | 279 | [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію |
279 | Set To Dictionary ${biddingresponce1.data.value} amount 50000 | 280 | Set To Dictionary ${biddingresponce1.data.value} amount 50000 |
280 | Log ${biddingresponce1.data.value} | 281 | Log ${biddingresponce1.data.value} |
@@ -282,23 +283,37 @@ ${question_id} 0 | @@ -282,23 +283,37 @@ ${question_id} 0 | ||
282 | Set Global Variable ${biddingresponce2} | 283 | Set Global Variable ${biddingresponce2} |
283 | log ${biddingresponce2} | 284 | log ${biddingresponce2} |
284 | 285 | ||
285 | -Можливість змінити цінову пропозицію до 1 | 286 | +Можливість змінити повторну цінову пропозицію до 400 |
286 | [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію | 287 | [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію |
287 | - Set To Dictionary ${biddingresponce1.data.value} amount 1 | 288 | + Set To Dictionary ${biddingresponce1.data.value} amount 400 |
288 | Log ${biddingresponce1.data.value} | 289 | Log ${biddingresponce1.data.value} |
289 | ${biddingresponce3}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER_ID} ${biddingresponce1} | 290 | ${biddingresponce3}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER_ID} ${biddingresponce1} |
290 | Set Global Variable ${biddingresponce3} | 291 | Set Global Variable ${biddingresponce3} |
291 | log ${biddingresponce3} | 292 | log ${biddingresponce3} |
292 | 293 | ||
293 | -Завантажити документ першим учасником | 294 | +Завантажити документ першим учасником в повторну пропозицію |
294 | [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця | 295 | [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця |
295 | log ${USERS.users['${provider}'].broker} | 296 | log ${USERS.users['${provider}'].broker} |
296 | log ${biddingresponce1} | 297 | log ${biddingresponce1} |
297 | ${bid_id}= get variable value ${biddingresponce1.data.id} | 298 | ${bid_id}= get variable value ${biddingresponce1.data.id} |
298 | ${token1}= Get Variable Value ${biddingresponce1.access.token} | 299 | ${token1}= Get Variable Value ${biddingresponce1.access.token} |
299 | log ${token1} | 300 | log ${token1} |
300 | - ${upload_doc_responce}= Викликати для учасника ${provider} Завантажити документ в ставку ${token1} ${bid_id} | ||
301 | - Set Global Variable ${upload_doc_responce} | 301 | + ${uploaded_file_data}= Викликати для учасника ${provider} Завантажити документ в ставку ${token1} ${bid_id} |
302 | + log ${uploaded_file_data} | ||
303 | + Set Global Variable ${uploaded_file_data} | ||
304 | + | ||
305 | + | ||
306 | +порівняти документ | ||
307 | + [Tags] ${USERS.users['${provider}'].broker}: вичитати документ | ||
308 | + ${flcntnt}= Get From Dictionary ${uploaded_file_data} filecontent | ||
309 | + ${resp}= Get From Dictionary ${uploaded_file_data} upload_responce | ||
310 | + ${flpth}= Get From Dictionary ${uploaded_file_data} filepath | ||
311 | + ${url} = Get Variable Value ${resp.data.url} | ||
312 | + ${token1}= Get Variable Value ${biddingresponce1.access.token} | ||
313 | + ${doc} ${flnnm}= Викликати для учасника ${provider} отримати документ ${TENDER_ID} ${url} ${token1} | ||
314 | + Should Be Equal ${flcntnt} ${doc} | ||
315 | + Should Be Equal ${flpth} ${flnnm} | ||
316 | + | ||
302 | 317 | ||
303 | Можливість змінити документацію цінової пропозиції | 318 | Можливість змінити документацію цінової пропозиції |
304 | [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця | 319 | [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця |
@@ -306,7 +321,8 @@ ${question_id} 0 | @@ -306,7 +321,8 @@ ${question_id} 0 | ||
306 | log ${biddingresponce1} | 321 | log ${biddingresponce1} |
307 | ${bid_id}= get variable value ${biddingresponce1.data.id} | 322 | ${bid_id}= get variable value ${biddingresponce1.data.id} |
308 | ${token1}= Get Variable Value ${biddingresponce1.access.token} | 323 | ${token1}= Get Variable Value ${biddingresponce1.access.token} |
309 | - ${upload_doc_responce_id}= get variable value ${upload_doc_responce.data.id} | 324 | + ${resp}= Get From Dictionary ${uploaded_file_data} upload_responce |
325 | + ${upload_doc_responce_id}= get variable value ${resp.data.id} | ||
310 | log ${token1} | 326 | log ${token1} |
311 | Викликати для учасника ${provider} Змінити документ в ставці ${token1} ${bid_id} ${upload_doc_responce_id} | 327 | Викликати для учасника ${provider} Змінити документ в ставці ${token1} ${bid_id} ${upload_doc_responce_id} |
312 | 328 | ||
@@ -316,7 +332,7 @@ ${question_id} 0 | @@ -316,7 +332,7 @@ ${question_id} 0 | ||
316 | [Tags] ${USERS.users['${provider}'].broker}: Можливість задати запитання | 332 | [Tags] ${USERS.users['${provider}'].broker}: Можливість задати запитання |
317 | ${resp}= Викликати для учасника ${provider} Задати питання shouldfail ${TENDER_ID} ${questions[${question_id}]} | 333 | ${resp}= Викликати для учасника ${provider} Задати питання shouldfail ${TENDER_ID} ${questions[${question_id}]} |
318 | 334 | ||
319 | -Подати цінову пропозицію bidder2 | 335 | +Подати цінову пропозицію другим учасником |
320 | [Tags] ${USERS.users['${provider1}'].broker}: Можливість подати цінову пропозицію | 336 | [Tags] ${USERS.users['${provider1}'].broker}: Можливість подати цінову пропозицію |
321 | Дочекатись дати початоку прийому пропозицій | 337 | Дочекатись дати початоку прийому пропозицій |
322 | ${bid}= test bid data | 338 | ${bid}= test bid data |
@@ -345,7 +361,6 @@ ${question_id} 0 | @@ -345,7 +361,6 @@ ${question_id} 0 | ||
345 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера | 361 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
346 | Викликати для учасника ${viewer} порівняти скаргу ${TENDER_ID} ${COMPLAINTS[0]} | 362 | Викликати для учасника ${viewer} порівняти скаргу ${TENDER_ID} ${COMPLAINTS[0]} |
347 | 363 | ||
348 | - | ||
349 | Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій | 364 | Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій |
350 | [Tags] ${USERS.users['${provider1}'].broker}: Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій | 365 | [Tags] ${USERS.users['${provider1}'].broker}: Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій |
351 | Дочекатись дати закінчення прийому пропозицій | 366 | Дочекатись дати закінчення прийому пропозицій |
@@ -384,7 +399,7 @@ ${question_id} 0 | @@ -384,7 +399,7 @@ ${question_id} 0 | ||
384 | log ${biddingresponce5} | 399 | log ${biddingresponce5} |
385 | ${bid_id}= get variable value ${biddingresponce5.data.id} | 400 | ${bid_id}= get variable value ${biddingresponce5.data.id} |
386 | ${token1}= Get Variable Value ${biddingresponce5.access.token} | 401 | ${token1}= Get Variable Value ${biddingresponce5.access.token} |
387 | - ${upload_doc_responce_id2}= get variable value ${upload_doc_responce2.data.id} | 402 | + ${upload_doc_responce_id2}= get variable value ${upload_doc_responce2[0].data.id} |
388 | log ${upload_doc_responce_id2} | 403 | log ${upload_doc_responce_id2} |
389 | log ${token1} | 404 | log ${token1} |
390 | Викликати для учасника ${provider1} Змінити документ в ставці shouldfail ${token1} ${bid_id} ${upload_doc_responce_id2} | 405 | Викликати для учасника ${provider1} Змінити документ в ставці shouldfail ${token1} ${bid_id} ${upload_doc_responce_id2} |
@@ -396,14 +411,20 @@ ${question_id} 0 | @@ -396,14 +411,20 @@ ${question_id} 0 | ||
396 | log ${biddingresponce1} | 411 | log ${biddingresponce1} |
397 | ${bid_id}= get variable value ${biddingresponce1.data.id} | 412 | ${bid_id}= get variable value ${biddingresponce1.data.id} |
398 | ${token1}= Get Variable Value ${biddingresponce1.access.token} | 413 | ${token1}= Get Variable Value ${biddingresponce1.access.token} |
399 | - ${upload_doc_responce_id}= get variable value ${upload_doc_responce.data.id} | 414 | + ${upload_doc_responce_id}= get variable value ${upload_doc_responce[0].data.id} |
400 | log ${token1} | 415 | log ${token1} |
401 | Викликати для учасника ${provider} Змінити документ в ставці shouldfail ${token1} ${bid_id} ${upload_doc_responce_id} | 416 | Викликати для учасника ${provider} Змінити документ в ставці shouldfail ${token1} ${bid_id} ${upload_doc_responce_id} |
402 | 417 | ||
403 | - | ||
404 | Неможливість скасувати цінову пропозицію після закінчення прийому пропозицій | 418 | Неможливість скасувати цінову пропозицію після закінчення прийому пропозицій |
405 | [Tags] ${USERS.users['${provider}'].broker}: Неможливість скасувати цінову пропозицію після закінчення прийому пропозицій | 419 | [Tags] ${USERS.users['${provider}'].broker}: Неможливість скасувати цінову пропозицію після закінчення прийому пропозицій |
406 | ${biddingresponce8}= Викликати для учасника ${provider1} скасувати цінову пропозицію shouldfail ${TENDER_ID} ${biddingresponce5} | 420 | ${biddingresponce8}= Викликати для учасника ${provider1} скасувати цінову пропозицію shouldfail ${TENDER_ID} ${biddingresponce5} |
407 | Set Global Variable ${biddingresponce8} | 421 | Set Global Variable ${biddingresponce8} |
408 | log ${biddingresponce8} | 422 | log ${biddingresponce8} |
409 | 423 | ||
424 | +Вичитати цінову пропозицію | ||
425 | + sleep 120 | ||
426 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію | ||
427 | + ${bid_id} = get variable value ${biddingresponce1.data.id} | ||
428 | + ${token1}= Get Variable Value ${biddingresponce1.access.token} | ||
429 | + ${bids}= Викликати для учасника ${provider} Отримати пропозиції ${TENDER_ID} ${bid_id} ${token1} | ||
430 | + log ${bids} |
Please
register
or
login
to post a comment