Commit 40f318c8c3f730ed1cc38c3d7360b72365d8dac8
Merge branch 'feature/pq' of https://github.com/quintagroup/robot_tests into feature/pq
Showing
50 changed files
with
2271 additions
and
52 deletions
@@ -2,6 +2,9 @@ | @@ -2,6 +2,9 @@ | ||
2 | extensions = mr.developer | 2 | extensions = mr.developer |
3 | auto-checkout = * | 3 | auto-checkout = * |
4 | always-checkout = true | 4 | always-checkout = true |
5 | +eggs-directory = /home/jenkins-slave/.buildout/eggs | ||
6 | +download-cache = /home/jenkins-slave/.buildout/download-cache | ||
7 | +abi-tag-eggs = true | ||
5 | develop = . | 8 | develop = . |
6 | find-links = | 9 | find-links = |
7 | http://op:x9W3jZ@dist.quintagroup.com/op/ | 10 | http://op:x9W3jZ@dist.quintagroup.com/op/ |
@@ -18,8 +18,6 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status | @@ -18,8 +18,6 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status | ||
18 | ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS} | 18 | ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS} |
19 | ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS} | 19 | ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS} |
20 | ${NUMBER_OF_MILESTONES}= Convert To Integer ${NUMBER_OF_MILESTONES} | 20 | ${NUMBER_OF_MILESTONES}= Convert To Integer ${NUMBER_OF_MILESTONES} |
21 | - ${PROFILE} Get Variable Value ${PROFILE} ${True} | ||
22 | - ${WRONG_TENDER_DATE} Get Variable Value ${WRONG_TENDER_DATE} ${False} | ||
23 | ${tender_parameters}= Create Dictionary | 21 | ${tender_parameters}= Create Dictionary |
24 | ... mode=${MODE} | 22 | ... mode=${MODE} |
25 | ... number_of_items=${NUMBER_OF_ITEMS} | 23 | ... number_of_items=${NUMBER_OF_ITEMS} |
@@ -34,8 +32,6 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status | @@ -34,8 +32,6 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status | ||
34 | ... road_index=${${ROAD_INDEX}} | 32 | ... road_index=${${ROAD_INDEX}} |
35 | ... gmdn_index=${${GMDN_INDEX}} | 33 | ... gmdn_index=${${GMDN_INDEX}} |
36 | ... plan_tender=${${PLAN_TENDER}} | 34 | ... plan_tender=${${PLAN_TENDER}} |
37 | - ... profile=${${PROFILE}} | ||
38 | - ... wrong_tender_date=${${WRONG_TENDER_DATE}} | ||
39 | ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE} | 35 | ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE} |
40 | ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND} | 36 | ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND} |
41 | Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE} | 37 | Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE} |
@@ -221,6 +217,94 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status | @@ -221,6 +217,94 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status | ||
221 | Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} | 217 | Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} |
222 | 218 | ||
223 | 219 | ||
220 | +Можливість оголосити тендер з недоліками в параметрах | ||
221 | + ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml | ||
222 | + ${ARTIFACT}= load_data_from ${file_path} | ||
223 | + Log ${ARTIFACT.tender_uaid} | ||
224 | + ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS} | ||
225 | + ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS} | ||
226 | + ${NUMBER_OF_MILESTONES}= Convert To Integer ${NUMBER_OF_MILESTONES} | ||
227 | + ${WRONG_TENDER_DATE} Get Variable Value ${WRONG_TENDER_DATE} ${False} | ||
228 | + ${EMPTY_PROFILE} Get Variable Value ${EMPTY_PROFILE} ${False} | ||
229 | + ${WRONG_PROFILE} Get Variable Value ${PROFILE} ${True} | ||
230 | + ${PROFILES_HIDDEN_STATUS} Get Variable Value ${PROFILES_HIDDEN_STATUS} ${False} | ||
231 | + ${PROFILES_SHORTLISTEDFIRMS_EMPTY} Get Variable Value ${PROFILES_SHORTLISTEDFIRMS_EMPTY} ${False} | ||
232 | + ${UNKNOWN_PROFILE} Get Variable Value ${UNKNOWN_PROFILE} ${False} | ||
233 | + ${tender_parameters}= Create Dictionary | ||
234 | + ... mode=${MODE} | ||
235 | + ... number_of_items=${NUMBER_OF_ITEMS} | ||
236 | + ... number_of_lots=${NUMBER_OF_LOTS} | ||
237 | + ... number_of_milestones=${NUMBER_OF_MILESTONES} | ||
238 | + ... tender_meat=${${TENDER_MEAT}} | ||
239 | + ... lot_meat=${${LOT_MEAT}} | ||
240 | + ... item_meat=${${ITEM_MEAT}} | ||
241 | + ... api_host_url=${API_HOST_URL} | ||
242 | + ... moz_integration=${${MOZ_INTEGRATION}} | ||
243 | + ... vat_included=${${VAT_INCLUDED}} | ||
244 | + ... road_index=${${ROAD_INDEX}} | ||
245 | + ... gmdn_index=${${GMDN_INDEX}} | ||
246 | + ... plan_tender=${${PLAN_TENDER}} | ||
247 | + ... wrong_tender_date=${${WRONG_TENDER_DATE}} | ||
248 | + ... empty_profile=${${EMPTY_PROFILE}} | ||
249 | + ... wrong_profile=${${WRONG_PROFILE}} | ||
250 | + ... profiles_hidden_status=${${PROFILES_HIDDEN_STATUS}} | ||
251 | + ... profiles_shortlistedfirms_empty=${${PROFILES_SHORTLISTEDFIRMS_EMPTY}} | ||
252 | + ... unknown_profile=${${UNKNOWN_PROFILE}} | ||
253 | + ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE} | ||
254 | + ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND} | ||
255 | + Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE} | ||
256 | + Run keyword if '${FUNDING_KIND}' != '${None}' Set to dictionary ${tender_parameters} fundingKind=${FUNDING_KIND} | ||
257 | + :FOR ${username} IN ${viewer} ${tender_owner} | ||
258 | + \ ${status}= Run Keyword And Return Status List Should Contain Value ${USERS.users['${username}']} plan_client | ||
259 | + \ Run Keyword If ${status} Exit For Loop | ||
260 | + ${plan_data}= знайти план за ідентифікатором ${ARTIFACT.tender_uaid} ${username} | ||
261 | + Log ${plan_data} | ||
262 | + ${tender_data}= Підготувати дані для створення тендера ${tender_parameters} ${plan_data} | ||
263 | + ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_data} | ||
264 | + ${TENDER_UAID}= Run As ${tender_owner} Створити тендер ${adapted_data} ${ARTIFACT.tender_uaid} | ||
265 | + Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data} | ||
266 | + Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} | ||
267 | + | ||
268 | + | ||
269 | +Можливість оголосити тендер без 2-ї фази commit-у | ||
270 | + ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml | ||
271 | + ${ARTIFACT}= load_data_from ${file_path} | ||
272 | + Log ${ARTIFACT.tender_uaid} | ||
273 | + ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS} | ||
274 | + ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS} | ||
275 | + ${NUMBER_OF_MILESTONES}= Convert To Integer ${NUMBER_OF_MILESTONES} | ||
276 | + ${TENDER_WRONG_STATUS} Get Variable Value ${TENDER_WRONG_STATUS} ${False} | ||
277 | + ${tender_parameters}= Create Dictionary | ||
278 | + ... mode=${MODE} | ||
279 | + ... number_of_items=${NUMBER_OF_ITEMS} | ||
280 | + ... number_of_lots=${NUMBER_OF_LOTS} | ||
281 | + ... number_of_milestones=${NUMBER_OF_MILESTONES} | ||
282 | + ... tender_meat=${${TENDER_MEAT}} | ||
283 | + ... lot_meat=${${LOT_MEAT}} | ||
284 | + ... item_meat=${${ITEM_MEAT}} | ||
285 | + ... api_host_url=${API_HOST_URL} | ||
286 | + ... moz_integration=${${MOZ_INTEGRATION}} | ||
287 | + ... vat_included=${${VAT_INCLUDED}} | ||
288 | + ... road_index=${${ROAD_INDEX}} | ||
289 | + ... gmdn_index=${${GMDN_INDEX}} | ||
290 | + ... plan_tender=${${PLAN_TENDER}} | ||
291 | + ... tender_wrong_status=${${TENDER_WRONG_STATUS}} | ||
292 | + ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE} | ||
293 | + ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND} | ||
294 | + Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE} | ||
295 | + Run keyword if '${FUNDING_KIND}' != '${None}' Set to dictionary ${tender_parameters} fundingKind=${FUNDING_KIND} | ||
296 | + :FOR ${username} IN ${viewer} ${tender_owner} | ||
297 | + \ ${status}= Run Keyword And Return Status List Should Contain Value ${USERS.users['${username}']} plan_client | ||
298 | + \ Run Keyword If ${status} Exit For Loop | ||
299 | + ${plan_data}= знайти план за ідентифікатором ${ARTIFACT.tender_uaid} ${username} | ||
300 | + Log ${plan_data} | ||
301 | + ${tender_data}= Підготувати дані для створення тендера ${tender_parameters} ${plan_data} | ||
302 | + ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_data} | ||
303 | + ${TENDER_UAID}= Run As ${tender_owner} Створити тендер без 2-ї фази commit-у ${adapted_data} ${ARTIFACT.tender_uaid} | ||
304 | + Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data} | ||
305 | + Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} | ||
306 | + | ||
307 | + | ||
224 | Можливість створити об'єкт моніторингу | 308 | Можливість створити об'єкт моніторингу |
225 | ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} | 309 | ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} |
226 | ${accelerator}= Get Variable Value ${accelerator} | 310 | ${accelerator}= Get Variable Value ${accelerator} |
@@ -273,6 +273,29 @@ Library openprocurement_client.utils | @@ -273,6 +273,29 @@ Library openprocurement_client.utils | ||
273 | [return] ${tender.data.tenderID} | 273 | [return] ${tender.data.tenderID} |
274 | 274 | ||
275 | 275 | ||
276 | +Створити тендер без 2-ї фази commit-у | ||
277 | + [Arguments] ${username} ${tender_data} ${plan_uaid} | ||
278 | + ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml | ||
279 | + ${ARTIFACT}= load_data_from ${file_path} | ||
280 | + Log ${ARTIFACT.tender_owner_access_token} | ||
281 | + Log ${ARTIFACT.tender_id} | ||
282 | + ${tender}= Call Method ${USERS.users['${username}'].tender_create_client} create_tender | ||
283 | + ... ${ARTIFACT.tender_id} | ||
284 | + ... ${tender_data} | ||
285 | + ... access_token=${ARTIFACT.tender_owner_access_token} | ||
286 | + Log ${tender} | ||
287 | + ${access_token}= Get Variable Value ${tender.access.token} | ||
288 | + ${tender_uaid}= Get Variable Value ${tender.data.tenderID} | ||
289 | + ${tender_id}= Get Variable Value ${tender.data.id} | ||
290 | + :FOR ${user} IN @{USED_ROLES} | ||
291 | + \ Set To Dictionary ${USERS.users['${${user}}'].id_map} ${tender_uaid} ${tender_id} | ||
292 | + Log ${\n}${API_HOST_URL}/api/${API_VERSION}/tenders/${tender.data.id}${\n} WARN | ||
293 | + Set To Dictionary ${USERS.users['${username}']} access_token=${access_token} | ||
294 | + Set To Dictionary ${USERS.users['${username}']} tender_data=${tender} | ||
295 | + Log ${USERS.users['${username}'].tender_data} | ||
296 | + [return] ${tender.data.tenderID} | ||
297 | + | ||
298 | + | ||
276 | Створити об'єкт моніторингу | 299 | Створити об'єкт моніторингу |
277 | [Arguments] ${username} ${monitoring_data} | 300 | [Arguments] ${username} ${monitoring_data} |
278 | ${monitoring}= Call Method ${USERS.users['${username}'].dasu_client} create_monitoring ${monitoring_data} | 301 | ${monitoring}= Call Method ${USERS.users['${username}'].dasu_client} create_monitoring ${monitoring_data} |
@@ -2304,6 +2327,7 @@ Library openprocurement_client.utils | @@ -2304,6 +2327,7 @@ Library openprocurement_client.utils | ||
2304 | ... ${tender} | 2327 | ... ${tender} |
2305 | ... access_token=${tender.access.token} | 2328 | ... access_token=${tender.access.token} |
2306 | Log ${reply} | 2329 | Log ${reply} |
2330 | + Log ${\n}${API_HOST_URL}/api/${API_VERSION}/tenders/${reply.data.id}${\n} WARN | ||
2307 | 2331 | ||
2308 | ############################################################################## | 2332 | ############################################################################## |
2309 | # CONTRACT SIGNING | 2333 | # CONTRACT SIGNING |
1 | *** Settings *** | 1 | *** Settings *** |
2 | Resource base_keywords.robot | 2 | Resource base_keywords.robot |
3 | +Resource aboveThreshold_keywords.robot | ||
3 | Suite Setup Test Suite Setup | 4 | Suite Setup Test Suite Setup |
4 | Suite Teardown Test Suite Teardown | 5 | Suite Teardown Test Suite Teardown |
5 | 6 | ||
@@ -22,14 +23,35 @@ ${PLAN_TENDER} ${True} | @@ -22,14 +23,35 @@ ${PLAN_TENDER} ${True} | ||
22 | Можливість оголосити тендер | 23 | Можливість оголосити тендер |
23 | 24 | ||
24 | 25 | ||
26 | +Можливість оголосити тендер другого етапу | ||
27 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера | ||
28 | + ... tender_owner | ||
29 | + ... ${USERS.users['${tender_owner}'].broker} | ||
30 | + ... create_tender_stage2 | ||
31 | + ... critical | ||
32 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
33 | + Завантажити дані про тендер | ||
34 | + Можливість оголосити тендер другого етапу | ||
35 | + | ||
36 | + | ||
37 | +Можливість знайти тендер по ідентифікатору для замовника | ||
38 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Пошук тендера | ||
39 | + ... tender_owner | ||
40 | + ... ${USERS.users['${tender_owner}'].broker} | ||
41 | + ... find_tender_tender_owner | ||
42 | + ... critical | ||
43 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
44 | + Можливість знайти тендер по ідентифікатору для користувача ${tender_owner} | ||
45 | + | ||
46 | + | ||
25 | Можливість знайти тендер по ідентифікатору | 47 | Можливість знайти тендер по ідентифікатору |
26 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера | 48 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера |
27 | - ... viewer tender_owner | 49 | + ... viewer tender_owner provider provider1 |
28 | ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | 50 | ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} |
51 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
29 | ... find_tender | 52 | ... find_tender |
30 | - [Teardown] Оновити LAST_MODIFICATION_DATE | ||
31 | - :FOR ${username} IN ${tender_owner} ${viewer} | ||
32 | - \ Можливість знайти тендер по ідентифікатору для користувача ${username} | 53 | + ... critical |
54 | + Можливість знайти тендер по ідентифікатору для усіх користувачів | ||
33 | 55 | ||
34 | 56 | ||
35 | Можливість подати пропозицію першим учасником | 57 | Можливість подати пропозицію першим учасником |
@@ -43,6 +65,17 @@ ${PLAN_TENDER} ${True} | @@ -43,6 +65,17 @@ ${PLAN_TENDER} ${True} | ||
43 | Можливість подати цінову пропозицію користувачем ${provider} | 65 | Можливість подати цінову пропозицію користувачем ${provider} |
44 | 66 | ||
45 | 67 | ||
68 | +Можливість подати пропозицію першим учасником 2 етап рамкової угоди | ||
69 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | ||
70 | + ... provider | ||
71 | + ... ${USERS.users['${provider}'].broker} | ||
72 | + ... selection_make_bid_by_provider | ||
73 | + ... critical | ||
74 | + [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} | ||
75 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
76 | + Можливість подати цінову пропозицію на другому етапі рамкової угоди користувачем ${provider} ${0} | ||
77 | + | ||
78 | + | ||
46 | Можливість подати пропозицію другим учасником | 79 | Можливість подати пропозицію другим учасником |
47 | [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції | 80 | [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції |
48 | ... provider1 | 81 | ... provider1 |
@@ -54,6 +87,17 @@ ${PLAN_TENDER} ${True} | @@ -54,6 +87,17 @@ ${PLAN_TENDER} ${True} | ||
54 | Можливість подати цінову пропозицію користувачем ${provider1} | 87 | Можливість подати цінову пропозицію користувачем ${provider1} |
55 | 88 | ||
56 | 89 | ||
90 | +Можливість подати пропозицію другим учасником 2 етап рамкової угоди | ||
91 | + [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції | ||
92 | + ... provider1 | ||
93 | + ... ${USERS.users['${provider1}'].broker} | ||
94 | + ... selection_make_bid_by_provider1 | ||
95 | + ... critical | ||
96 | + [Setup] Дочекатись дати початку прийому пропозицій ${provider1} ${TENDER['TENDER_UAID']} | ||
97 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
98 | + Можливість подати цінову пропозицію на другому етапі рамкової угоди користувачем ${provider1} ${1} | ||
99 | + | ||
100 | + | ||
57 | Можливість подати пропозицію третім учасником | 101 | Можливість подати пропозицію третім учасником |
58 | [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції | 102 | [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції |
59 | ... provider2 | 103 | ... provider2 |
@@ -76,6 +120,383 @@ ${PLAN_TENDER} ${True} | @@ -76,6 +120,383 @@ ${PLAN_TENDER} ${True} | ||
76 | Оновити LAST_MODIFICATION_DATE | 120 | Оновити LAST_MODIFICATION_DATE |
77 | 121 | ||
78 | ############################################################################################## | 122 | ############################################################################################## |
123 | +# PRE-QUALIFICATION | ||
124 | +############################################################################################## | ||
125 | + | ||
126 | +Дочекатись початку періоду пре-кваліфікації | ||
127 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Очікування початку періоду пре-кваліфікації учасників | ||
128 | + ... tender_owner | ||
129 | + ... ${USERS.users['${tender_owner}'].broker} | ||
130 | + ... wait_active_pre-qualification_start | ||
131 | + Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | ||
132 | + | ||
133 | + | ||
134 | +Відображення статусу першої пропозиції кваліфікації | ||
135 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація | ||
136 | + ... tender_owner | ||
137 | + ... ${USERS.users['${tender_owner}'].broker} | ||
138 | + ... pre-qualification_view | ||
139 | + ... non-critical | ||
140 | + [Setup] Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | ||
141 | + Звірити відображення поля qualifications[0].status тендера із pending для користувача ${tender_owner} | ||
142 | + | ||
143 | + | ||
144 | +Відображення статусу другої пропозиції кваліфікації | ||
145 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація | ||
146 | + ... tender_owner | ||
147 | + ... ${USERS.users['${tender_owner}'].broker} | ||
148 | + ... pre-qualification_view | ||
149 | + ... non-critical | ||
150 | + [Setup] Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | ||
151 | + Звірити відображення поля qualifications[1].status тендера із pending для користувача ${tender_owner} | ||
152 | + | ||
153 | + | ||
154 | +Відображення статусу третьої пропозиції кваліфікації | ||
155 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація | ||
156 | + ... tender_owner | ||
157 | + ... ${USERS.users['${tender_owner}'].broker} | ||
158 | + ... pre-qualification_view | ||
159 | + ... non-critical | ||
160 | + [Setup] Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | ||
161 | + Звірити відображення поля qualifications[2].status тендера із pending для користувача ${tender_owner} | ||
162 | + | ||
163 | + | ||
164 | +Можливість підтвердити першу пропозицію кваліфікації | ||
165 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація | ||
166 | + ... tender_owner | ||
167 | + ... ${USERS.users['${tender_owner}'].broker} | ||
168 | + ... pre-qualification_approve_first_bid level1 | ||
169 | + ... critical | ||
170 | + [Setup] Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | ||
171 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
172 | + Можливість підтвердити 0 пропозицію кваліфікації | ||
173 | + | ||
174 | + | ||
175 | +Можливість підтвердити другу пропозицію кваліфікації | ||
176 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація | ||
177 | + ... tender_owner | ||
178 | + ... ${USERS.users['${tender_owner}'].broker} | ||
179 | + ... pre-qualification_approve_second_bid level1 | ||
180 | + ... critical | ||
181 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
182 | + Можливість підтвердити 1 пропозицію кваліфікації | ||
183 | + | ||
184 | + | ||
185 | +Можливість підтвердити третю пропозицію кваліфікації | ||
186 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація | ||
187 | + ... tender_owner | ||
188 | + ... ${USERS.users['${tender_owner}'].broker} | ||
189 | + ... pre-qualification_approve_third_bid level1 | ||
190 | + ... critical | ||
191 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
192 | + Можливість підтвердити 2 пропозицію кваліфікації | ||
193 | + | ||
194 | + | ||
195 | +Можливість підтвердити четверту пропозицію кваліфікації | ||
196 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація | ||
197 | + ... tender_owner | ||
198 | + ... ${USERS.users['${tender_owner}'].broker} | ||
199 | + ... pre-qualification_approve_fourth_bid level1 | ||
200 | + ... critical | ||
201 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
202 | + Можливість підтвердити 3 пропозицію кваліфікації | ||
203 | + | ||
204 | + | ||
205 | +Можливість підтвердити п'яту пропозицію кваліфікації | ||
206 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація | ||
207 | + ... tender_owner | ||
208 | + ... ${USERS.users['${tender_owner}'].broker} | ||
209 | + ... pre-qualification_approve_fifth_bid level1 | ||
210 | + ... critical | ||
211 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
212 | + Можливість підтвердити 4 пропозицію кваліфікації | ||
213 | + | ||
214 | + | ||
215 | +Можливість підтвердити шосту пропозицію кваліфікації | ||
216 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація | ||
217 | + ... tender_owner | ||
218 | + ... ${USERS.users['${tender_owner}'].broker} | ||
219 | + ... pre-qualification_approve_sixth_bid level1 | ||
220 | + ... critical | ||
221 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
222 | + Можливість підтвердити 5 пропозицію кваліфікації | ||
223 | + | ||
224 | + | ||
225 | +Можливість затвердити остаточне рішення кваліфікації | ||
226 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація | ||
227 | + ... tender_owner | ||
228 | + ... ${USERS.users['${tender_owner}'].broker} | ||
229 | + ... pre-qualification_approve_qualifications level1 | ||
230 | + ... critical | ||
231 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
232 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
233 | + Можливість затвердити остаточне рішення кваліфікації | ||
234 | + | ||
235 | + | ||
236 | +Відображення статусу блокування перед початком аукціону | ||
237 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація | ||
238 | + ... tender_owner | ||
239 | + ... ${USERS.users['${tender_owner}'].broker} | ||
240 | + ... pre-qualification_view | ||
241 | + ... non-critical | ||
242 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
243 | + Звірити статус тендера ${tender_owner} ${TENDER['TENDER_UAID']} active.pre-qualification.stand-still | ||
244 | + | ||
245 | + | ||
246 | +Відображення дати закінчення періоду блокування перед початком аукціону | ||
247 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація | ||
248 | + ... tender_owner | ||
249 | + ... ${USERS.users['${tender_owner}'].broker} | ||
250 | + ... pre-qualification_view | ||
251 | + ... non-critical | ||
252 | + [Teardown] Дочекатись дати закінчення періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | ||
253 | + Отримати дані із поля qualificationPeriod.endDate тендера для усіх користувачів | ||
254 | + | ||
255 | +############################################################################################## | ||
256 | +# SECOND STAGE | ||
257 | +############################################################################################## | ||
258 | + | ||
259 | +Можливість дочекатися початку періоду очікування | ||
260 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес очікування оскаржень | ||
261 | + ... tender_owner | ||
262 | + ... ${USERS.users['${tender_owner}'].broker} | ||
263 | + ... stage2_pending_status_view | ||
264 | + ... critical | ||
265 | + Отримати дані із поля qualificationPeriod.endDate тендера для усіх користувачів | ||
266 | + Дочекатись дати закінчення періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | ||
267 | + Звірити статус тендера ${tender_owner} ${TENDER['TENDER_UAID']} active.stage2.pending | ||
268 | + | ||
269 | + | ||
270 | +Можливість перевести тендер в статус очікування обробки мостом | ||
271 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес переведення статусу у active.stage2.waiting. | ||
272 | + ... tender_owner | ||
273 | + ... ${USERS.users['${tender_owner}'].broker} | ||
274 | + ... stage2_pending_status_view | ||
275 | + ... critical | ||
276 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
277 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
278 | + Можливість перевести тендер на статус очікування обробки мостом | ||
279 | + | ||
280 | + | ||
281 | +Можливість дочекатися завершення роботи мосту | ||
282 | + [Tags] ${USERS.users['${viewer}'].broker}: Процес очікування обробки мостом | ||
283 | + ... viewer | ||
284 | + ... ${USERS.users['${viewer}'].broker} | ||
285 | + ... wait_bridge_for_work | ||
286 | + ... critical | ||
287 | + Дочекатися створення нового етапу мостом ${tender_owner} ${TENDER['TENDER_UAID']} | ||
288 | + Звірити статус тендера ${tender_owner} ${TENDER['TENDER_UAID']} complete | ||
289 | + | ||
290 | + | ||
291 | +Можливість активувати тендер другого етапу | ||
292 | + [Tags] ${USERS.users['${viewer}'].broker}: Активувати тендер другого етапу | ||
293 | + ... tender_owner | ||
294 | + ... ${USERS.users['${tender_owner}'].broker} | ||
295 | + ... activate_second_stage | ||
296 | + ... critical | ||
297 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
298 | + Активувати тендер другого етапу | ||
299 | + | ||
300 | + | ||
301 | +Можливість знайти тендер другого етапу по ідентифікатору для усіх користувачів | ||
302 | + [Tags] ${USERS.user['${tender_owner}'].broker}: Пошук тендера другого етапу | ||
303 | + ... viewer tender_owner provider provider1 | ||
304 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
305 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
306 | + ... get_second_stage | ||
307 | + ... critical | ||
308 | + Можливість знайти тендер другого етапу по ідентифікатору для усіх користувачів | ||
309 | + | ||
310 | + | ||
311 | +Відображення заголовку тендера другого етапу | ||
312 | + [Tags] ${USERS.user['${tender_owner}'].broker}: Відображення основних даних тендера другого етапу | ||
313 | + ... viewer tender_owner provider provider1 | ||
314 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
315 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
316 | + ... compare_stages | ||
317 | + ... critical | ||
318 | + Отримати дані із поля title тендера другого етапу для усіх користувачів | ||
319 | + | ||
320 | + | ||
321 | +Відображення мінімального кроку закупівлі другого етапу | ||
322 | + [Tags] ${USERS.user['${tender_owner}'].broker}: Відображення основних даних тендера другого етапу | ||
323 | + ... viewer tender_owner provider provider1 | ||
324 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
325 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
326 | + ... compare_stages | ||
327 | + ... critical | ||
328 | + Отримати дані із поля minimalStep.amount тендера другого етапу для усіх користувачів | ||
329 | + | ||
330 | + | ||
331 | +Відображення доступного бюджету закупівлі другого етапу | ||
332 | + [Tags] ${USERS.user['${tender_owner}'].broker}: Відображення основних даних тендера другого етапу | ||
333 | + ... viewer tender_owner provider provider1 | ||
334 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
335 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
336 | + ... compare_stages | ||
337 | + ... critical | ||
338 | + Отримати дані із поля value.amount тендера другого етапу для усіх користувачів | ||
339 | + | ||
340 | + | ||
341 | +Відображення опису закупівлі другого етапу | ||
342 | + [Tags] ${USERS.user['${tender_owner}'].broker}: Відображення основних даних тендера другого етапу | ||
343 | + ... viewer tender_owner provider provider1 | ||
344 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
345 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
346 | + ... compare_stages | ||
347 | + ... non-critical | ||
348 | + Отримати дані із поля description тендера другого етапу для усіх користувачів | ||
349 | + | ||
350 | + | ||
351 | +Відображення імені замовника тендера для другого етапу | ||
352 | + [Tags] ${USERS.user['${tender_owner}'].broker}: Відображення основних даних тендера другого етапу | ||
353 | + ... viewer tender_owner provider provider1 | ||
354 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
355 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
356 | + ... compare_stages | ||
357 | + ... critical | ||
358 | + Отримати дані із поля procuringEntity.name тендера другого етапу для усіх користувачів | ||
359 | + | ||
360 | + | ||
361 | +Відображення початку періоду прийому пропозицій тендера другого етапу | ||
362 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера другого етапу | ||
363 | + ... viewer tender_owner provider provider1 | ||
364 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
365 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
366 | + ... compare_stages | ||
367 | + ... critical | ||
368 | + Отримати дані із поля tenderPeriod.startDate тендера другого етапу для усіх користувачів | ||
369 | + | ||
370 | + | ||
371 | +Відображення закінчення періоду прийому пропозицій тендера другого етапу | ||
372 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера другого етапу | ||
373 | + ... viewer tender_owner provider provider1 | ||
374 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
375 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
376 | + ... compare_stages | ||
377 | + ... critical | ||
378 | + Отримати дані із поля tenderPeriod.endDate тендера другого етапу для усіх користувачів | ||
379 | + | ||
380 | + | ||
381 | +Можливість подати пропозицію першим учасником на другому етапі | ||
382 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | ||
383 | + ... provider | ||
384 | + ... ${USERS.users['${provider}'].broker} | ||
385 | + ... make_bid_by_provider_second_stage | ||
386 | + ... critical | ||
387 | + [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} | ||
388 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
389 | + Можливість подати цінову пропозицію на другий етап користувачем ${provider} | ||
390 | + | ||
391 | + | ||
392 | +Можливість подати пропозицію другим учасником на другому етапі | ||
393 | + [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції на другий етап | ||
394 | + ... provider1 | ||
395 | + ... ${USERS.users['${provider1}'].broker} | ||
396 | + ... make_bid_by_provider1_second_stage | ||
397 | + ... critical | ||
398 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
399 | + Можливість подати цінову пропозицію на другий етап користувачем ${provider1} | ||
400 | + | ||
401 | + | ||
402 | +Можливість підтвердити першу пропозицію кваліфікації на другому етапі | ||
403 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація на другому етапі | ||
404 | + ... tender_owner | ||
405 | + ... ${USERS.users['${tender_owner}'].broker} | ||
406 | + ... pre-qualification_approve_first_bid_second_stage | ||
407 | + [Setup] Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | ||
408 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
409 | + Можливість підтвердити 0 пропозицію кваліфікації | ||
410 | + | ||
411 | + | ||
412 | +Можливість підтвердити другу пропозицію кваліфікації на другогму етапі | ||
413 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація на другому етапі | ||
414 | + ... tender_owner | ||
415 | + ... ${USERS.users['${tender_owner}'].broker} | ||
416 | + ... pre-qualification_approve_second_bid_second_stage | ||
417 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
418 | + Можливість підтвердити -1 пропозицію кваліфікації | ||
419 | + | ||
420 | + | ||
421 | +Можливість затвердити остаточне рішення кваліфікації на другому етапі | ||
422 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація на другому етапі | ||
423 | + ... tender_owner | ||
424 | + ... ${USERS.users['${tender_owner}'].broker} | ||
425 | + ... pre-qualification_approve_qualifications_second_stage | ||
426 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
427 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
428 | + Можливість затвердити остаточне рішення кваліфікації | ||
429 | + | ||
430 | +############################################################################################## | ||
431 | +# QUALIFICATION | ||
432 | +############################################################################################## | ||
433 | + | ||
434 | +Дочекатись початку періоду кваліфікації | ||
435 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Очікування початку періоду кваліфікації учасників | ||
436 | + ... tender_owner | ||
437 | + ... ${USERS.users['${tender_owner}'].broker} | ||
438 | + ... wait_active_qualification_start | ||
439 | + Дочекатись дати початку періоду кваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | ||
440 | + | ||
441 | + | ||
442 | +Можливість підтвердити постачальника | ||
443 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | ||
444 | + ... tender_owner | ||
445 | + ... ${USERS.users['${tender_owner}'].broker} | ||
446 | + ... qualification_approve_first_award | ||
447 | + ... critical | ||
448 | + [Setup] Дочекатись дати початку періоду кваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | ||
449 | + Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 0 | ||
450 | + | ||
451 | + | ||
452 | +Можливість підтвердити другого постачальника | ||
453 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | ||
454 | + ... tender_owner | ||
455 | + ... ${USERS.users['${tender_owner}'].broker} | ||
456 | + ... qualification_approve_second_award | ||
457 | + ... critical | ||
458 | + Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 1 | ||
459 | + | ||
460 | + | ||
461 | +Можливість підтвердити третього постачальника | ||
462 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | ||
463 | + ... tender_owner | ||
464 | + ... ${USERS.users['${tender_owner}'].broker} | ||
465 | + ... qualification_approve_third_award | ||
466 | + ... critical | ||
467 | + Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 2 | ||
468 | + | ||
469 | + | ||
470 | +Дочекатись початку періоду підписання угоди | ||
471 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Очікування початку періоду підписання угоди | ||
472 | + ... tender_owner | ||
473 | + ... ${USERS.users['${tender_owner}'].broker} | ||
474 | + ... wait_active_awarded_start | ||
475 | + Дочекатись дати початку періоду підписання угоди ${tender_owner} ${TENDER['TENDER_UAID']} | ||
476 | + | ||
477 | + | ||
478 | +Відображення закінчення періоду подачі скарг на пропозицію | ||
479 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних тендера | ||
480 | + ... viewer | ||
481 | + ... ${USERS.users['${tender_owner}'].broker} | ||
482 | + ... award_stand_still | ||
483 | + ... critical | ||
484 | + ${award_index}= Отримати останній індекс awards ${tender_owner} ${viewer} | ||
485 | + :FOR ${username} IN ${viewer} | ||
486 | + \ Отримати дані із тендера ${username} ${TENDER['TENDER_UAID']} awards[${award_index}].complaintPeriod.endDate | ||
487 | + | ||
488 | + | ||
489 | +Дочекатися закічення stand still періоду | ||
490 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди | ||
491 | + ... viewer | ||
492 | + ... ${USERS.users['${tender_owner}'].broker} | ||
493 | + ... award_stand_still | ||
494 | + ... critical | ||
495 | + ${award_index}= Отримати останній індекс awards ${tender_owner} ${viewer} | ||
496 | + ${standstillEnd}= Get Variable Value ${USERS.users['${viewer}'].tender_data.data.awards[${award_index}].complaintPeriod.endDate} | ||
497 | + Дочекатись дати ${standstillEnd} | ||
498 | + | ||
499 | +############################################################################################## | ||
79 | # LOT CANCELLATION | 500 | # LOT CANCELLATION |
80 | ############################################################################################## | 501 | ############################################################################################## |
81 | 502 |
@@ -81,7 +81,7 @@ Quinta: | @@ -81,7 +81,7 @@ Quinta: | ||
81 | framework_selection: | 81 | framework_selection: |
82 | accelerator: 360 | 82 | accelerator: 360 |
83 | priceQuotation: | 83 | priceQuotation: |
84 | - tender: [0, 10] | 84 | + tender: [0, 15] |
85 | accelerator: 1440 | 85 | accelerator: 1440 |
86 | keywords_file: openprocurement_client | 86 | keywords_file: openprocurement_client |
87 | roles: | 87 | roles: |
@@ -376,6 +376,12 @@ def test_tender_data_planning(params): | @@ -376,6 +376,12 @@ def test_tender_data_planning(params): | ||
376 | breakdown_element = test_breakdown_data() | 376 | breakdown_element = test_breakdown_data() |
377 | breakdown_element['value']['amount'] = value | 377 | breakdown_element['value']['amount'] = value |
378 | data['budget']['breakdown'].append(breakdown_element) | 378 | data['budget']['breakdown'].append(breakdown_element) |
379 | + if params['mode'] == "priceQuotation": | ||
380 | + for buyer in data['buyers']: | ||
381 | + del buyer['kind'] | ||
382 | + del buyer['address'] | ||
383 | + del data['procuringEntity']['kind'] | ||
384 | + del data['procuringEntity']['address'] | ||
379 | return munchify(data) | 385 | return munchify(data) |
380 | 386 | ||
381 | 387 | ||
@@ -692,25 +698,33 @@ def test_bid_data_selection(data, index): | @@ -692,25 +698,33 @@ def test_bid_data_selection(data, index): | ||
692 | return bid | 698 | return bid |
693 | 699 | ||
694 | 700 | ||
695 | -def test_bid_data_pq(data, over_limit): | 701 | +def test_bid_data_pq(data, over_limit=False, missing_criteria=False, more_than_two_requirements=False, invalid_expected_value=False): |
696 | bid = test_bid_data() | 702 | bid = test_bid_data() |
697 | bid.data.requirementResponses = [] | 703 | bid.data.requirementResponses = [] |
698 | - for criteria in data['criteria']: | ||
699 | - for requirements in criteria['requirementGroups']: | ||
700 | - for requirement in requirements['requirements']: | ||
701 | - if requirement.get('expectedValue'): | ||
702 | - value = requirement.get('expectedValue') | ||
703 | - else: | ||
704 | - value = fake.random_int(min=int(requirement.get('minValue')), max=int(data['value']['amount'])) | ||
705 | - requirement = { | ||
706 | - "requirement": {"id": requirement['id']}, | ||
707 | - "value": value | ||
708 | - } | ||
709 | - bid.data.requirementResponses.append(requirement) | 704 | + if 'criteria' in data: |
705 | + for criteria in data['criteria']: | ||
706 | + for requirements in criteria['requirementGroups']: | ||
707 | + for requirement in requirements['requirements']: | ||
708 | + if requirement.get('expectedValue'): | ||
709 | + value = requirement.get('expectedValue') | ||
710 | + if invalid_expected_value: | ||
711 | + value = "invalid_value" | ||
712 | + else: | ||
713 | + value = fake.random_int(min=int(requirement.get('minValue')), max=int(data['value']['amount'])) | ||
714 | + requirement = { | ||
715 | + "requirement": {"id": requirement['id']}, | ||
716 | + "value": value | ||
717 | + } | ||
718 | + bid.data.requirementResponses.append(requirement) | ||
719 | + if not more_than_two_requirements: | ||
720 | + break | ||
710 | bid.data['status'] = 'draft' | 721 | bid.data['status'] = 'draft' |
711 | - bid.data.update(test_bid_value(fake.random_int(min=1, max=int(data['value']['amount'])), data['value']['valueAddedTaxIncluded'])) | 722 | + bid.data.update(test_bid_value(fake.random_int(min=1, max=int(data['value']['amount'])), |
723 | + data['value']['valueAddedTaxIncluded'])) | ||
712 | if over_limit: | 724 | if over_limit: |
713 | bid.data['value']['amount'] = int(data['value']['amount']) + fake.random_int(min=1, max=1000) | 725 | bid.data['value']['amount'] = int(data['value']['amount']) + fake.random_int(min=1, max=1000) |
726 | + if missing_criteria: | ||
727 | + del bid['data']['requirementResponses'][-1] | ||
714 | return bid | 728 | return bid |
715 | 729 | ||
716 | 730 | ||
@@ -1046,15 +1060,27 @@ def test_tender_data_esco(params, submissionMethodDetails, plan_data): | @@ -1046,15 +1060,27 @@ def test_tender_data_esco(params, submissionMethodDetails, plan_data): | ||
1046 | def test_tender_data_pq(params, submissionMethodDetails, plan_data): | 1060 | def test_tender_data_pq(params, submissionMethodDetails, plan_data): |
1047 | data = test_tender_data(params, plan_data, ('tender',), submissionMethodDetails) | 1061 | data = test_tender_data(params, plan_data, ('tender',), submissionMethodDetails) |
1048 | del data["minimalStep"] | 1062 | del data["minimalStep"] |
1063 | + del data["title_en"] | ||
1049 | data['procurementMethodType'] = 'priceQuotation' | 1064 | data['procurementMethodType'] = 'priceQuotation' |
1050 | - if params['profile']: | ||
1051 | - data['profile'] = fake.valid_profile() | ||
1052 | - else: | 1065 | + data["procuringEntity"]["kind"] = random.choice(['authority', 'defense', 'general', 'other', 'social', 'special']) |
1066 | + data['profile'] = fake.valid_profile() | ||
1067 | + if params.get('wrong_profile'): | ||
1053 | data['profile'] = fake.invalid_profile() | 1068 | data['profile'] = fake.invalid_profile() |
1054 | - if params['wrong_tender_date']: | 1069 | + if params.get('wrong_tender_date'): |
1055 | start_date = data['tenderPeriod']['startDate'] | 1070 | start_date = data['tenderPeriod']['startDate'] |
1056 | from op_robot_tests.tests_files.service_keywords import add_minutes_to_date | 1071 | from op_robot_tests.tests_files.service_keywords import add_minutes_to_date |
1057 | data['tenderPeriod']['endDate'] = add_minutes_to_date(start_date, 1) | 1072 | data['tenderPeriod']['endDate'] = add_minutes_to_date(start_date, 1) |
1073 | + if params.get('empty_profile'): | ||
1074 | + data['profile'] = "" | ||
1075 | + if params.get('tender_wrong_status'): | ||
1076 | + data['status'] = fake.wrong_status() | ||
1077 | + if params.get('profiles_hidden_status'): | ||
1078 | + data['profile'] = fake.profiles_hidden() | ||
1079 | + if params.get('profiles_shortlistedfirms_empty'): | ||
1080 | + data['profile'] = fake.shortlistedfirms_empty() | ||
1081 | + if params.get('unknown_profile'): | ||
1082 | + data['profile'] = fake.tender_unknown_profile() | ||
1083 | + | ||
1058 | return munchify(data) | 1084 | return munchify(data) |
1059 | 1085 | ||
1060 | 1086 |
@@ -332,7 +332,7 @@ Get Broker Property By Username | @@ -332,7 +332,7 @@ Get Broker Property By Username | ||
332 | 332 | ||
333 | 333 | ||
334 | Підготувати дані для подання пропозиції | 334 | Підготувати дані для подання пропозиції |
335 | - ${bid}= generate_test_bid_data ${USERS.users['${tender_owner}'].initial_data.data} | 335 | + ${bid}= generate_test_bid_data ${USERS.users['${tender_owner}'].tender_data.data} |
336 | [Return] ${bid} | 336 | [Return] ${bid} |
337 | 337 | ||
338 | 338 | ||
@@ -353,7 +353,14 @@ Get Broker Property By Username | @@ -353,7 +353,14 @@ Get Broker Property By Username | ||
353 | Підготувати дані для подання пропозиції priceQuotation | 353 | Підготувати дані для подання пропозиції priceQuotation |
354 | [Arguments] ${username} | 354 | [Arguments] ${username} |
355 | ${BID_OVER_LIMIT}= Get Variable Value ${BID_OVER_LIMIT} ${False} | 355 | ${BID_OVER_LIMIT}= Get Variable Value ${BID_OVER_LIMIT} ${False} |
356 | - ${bid}= test_bid_data_pq ${USERS.users['${username}'].tender_data.data} ${BID_OVER_LIMIT} | 356 | + ${BID_ONE_OF_THE_CRITERIAS_IS_MISSING}= Get Variable Value ${BID_ONE_OF_THE_CRITERIAS_IS_MISSING} ${False} |
357 | + ${BID_SAME_GROUPS_DIFFERENT_CRITERIA}= Get Variable Value ${BID_SAME_GROUPS_DIFFERENT_CRITERIA} ${False} | ||
358 | + ${BID_INVALID_EXPECTED_VALUE}= Get Variable Value ${BID_INVALID_EXPECTED_VALUE} ${False} | ||
359 | + ${bid}= test_bid_data_pq ${USERS.users['${username}'].tender_data.data} | ||
360 | + ... ${BID_OVER_LIMIT} | ||
361 | + ... ${BID_ONE_OF_THE_CRITERIAS_IS_MISSING} | ||
362 | + ... ${BID_SAME_GROUPS_DIFFERENT_CRITERIA} | ||
363 | + ... ${BID_INVALID_EXPECTED_VALUE} | ||
357 | [Return] ${bid} | 364 | [Return] ${bid} |
358 | 365 | ||
359 | 366 | ||
@@ -1219,6 +1226,19 @@ Require Failure | @@ -1219,6 +1226,19 @@ Require Failure | ||
1219 | ... active.qualification | 1226 | ... active.qualification |
1220 | 1227 | ||
1221 | 1228 | ||
1229 | +Дочекатись дати початку періоду підписання угоди | ||
1230 | + [Arguments] ${username} ${tender_uaid} | ||
1231 | + Оновити LAST_MODIFICATION_DATE | ||
1232 | + Дочекатись синхронізації з майданчиком ${username} | ||
1233 | + Wait until keyword succeeds | ||
1234 | + ... 40 min 15 sec | ||
1235 | + ... 15 sec | ||
1236 | + ... Звірити статус тендера | ||
1237 | + ... ${username} | ||
1238 | + ... ${tender_uaid} | ||
1239 | + ... active.awarded | ||
1240 | + | ||
1241 | + | ||
1222 | Дочекатись дати закінчення періоду кваліфікації | 1242 | Дочекатись дати закінчення періоду кваліфікації |
1223 | [Arguments] ${username} ${tender_uaid} | 1243 | [Arguments] ${username} ${tender_uaid} |
1224 | Дочекатись синхронізації з майданчиком ${username} | 1244 | Дочекатись синхронізації з майданчиком ${username} |
@@ -35,6 +35,10 @@ class OP_Provider(BaseProvider): | @@ -35,6 +35,10 @@ class OP_Provider(BaseProvider): | ||
35 | procuringTenderers = _fake_data.procuringTenderers | 35 | procuringTenderers = _fake_data.procuringTenderers |
36 | valid_profile_ids = _fake_data.valid_profile_ids | 36 | valid_profile_ids = _fake_data.valid_profile_ids |
37 | invalid_profile_ids = _fake_data.invalid_profile_ids | 37 | invalid_profile_ids = _fake_data.invalid_profile_ids |
38 | + tender_wrong_status = _fake_data.wrong_status_when_create_tender | ||
39 | + profiles_hidden_status = _fake_data.profiles_hidden_status | ||
40 | + profiles_shortlistedfirms_empty = _fake_data.profiles_shortlistedfirms_empty | ||
41 | + unknown_profile = _fake_data.unknown_profiles | ||
38 | 42 | ||
39 | @classmethod | 43 | @classmethod |
40 | def randomize_nb_elements(self, number=10, le=60, ge=140): | 44 | def randomize_nb_elements(self, number=10, le=60, ge=140): |
@@ -234,3 +238,19 @@ class OP_Provider(BaseProvider): | @@ -234,3 +238,19 @@ class OP_Provider(BaseProvider): | ||
234 | @classmethod | 238 | @classmethod |
235 | def invalid_profile(self): | 239 | def invalid_profile(self): |
236 | return self.random_element(self.invalid_profile_ids) | 240 | return self.random_element(self.invalid_profile_ids) |
241 | + | ||
242 | + @classmethod | ||
243 | + def wrong_status(self): | ||
244 | + return self.random_element(self.tender_wrong_status) | ||
245 | + | ||
246 | + @classmethod | ||
247 | + def profiles_hidden(self): | ||
248 | + return self.random_element(self.profiles_hidden_status) | ||
249 | + | ||
250 | + @classmethod | ||
251 | + def shortlistedfirms_empty(self): | ||
252 | + return self.random_element(self.profiles_shortlistedfirms_empty) | ||
253 | + | ||
254 | + @classmethod | ||
255 | + def tender_unknown_profile(self): | ||
256 | + return self.random_element(self.unknown_profile) |
@@ -8155,16 +8155,31 @@ | @@ -8155,16 +8155,31 @@ | ||
8155 | "anotherEvent" | 8155 | "anotherEvent" |
8156 | ], | 8156 | ], |
8157 | "valid_profile_ids": [ | 8157 | "valid_profile_ids": [ |
8158 | - "400496-33600000-683398-42000777", | ||
8159 | "999999-33140000-555666-42000111" | 8158 | "999999-33140000-555666-42000111" |
8160 | ], | 8159 | ], |
8161 | "invalid_profile_ids": [ | 8160 | "invalid_profile_ids": [ |
8162 | - "195333-32420000-214469-40000777", | ||
8163 | - "195333-32420000-214469-40000777", | ||
8164 | - "116337-30120000-716781-40000777", | ||
8165 | - "955288-33140000-949200-42000777", | ||
8166 | - "488351-09130000-741375-40000777", | ||
8167 | - "834922-33600000-125367-42000777", | ||
8168 | - "966130-32420000-642438-40000777" | 8161 | + "333222-33140000-555666-42000111", |
8162 | + "333222-33140000-999888-42000111", | ||
8163 | + "999999-33140000-222111-42000111" | ||
8164 | + ], | ||
8165 | + "profiles_hidden_status": [ | ||
8166 | + "333222-33140000-555666-42000111" | ||
8167 | + ], | ||
8168 | + "profiles_shortlistedfirms_empty": [ | ||
8169 | + "333222-33140000-999888-42000111", | ||
8170 | + "999999-33140000-222111-42000111" | ||
8171 | + ], | ||
8172 | + "unknown_profiles": [ | ||
8173 | + "834922-33600000-555555-55555555" | ||
8174 | + ], | ||
8175 | + "wrong_status_when_create_tender": [ | ||
8176 | + "draft.unsuccessful", | ||
8177 | + "draft.publishing", | ||
8178 | + "active.tendering", | ||
8179 | + "active.qualification", | ||
8180 | + "active.awarded", | ||
8181 | + "cancelled", | ||
8182 | + "unsuccessful", | ||
8183 | + "complete" | ||
8169 | ] | 8184 | ] |
8170 | } | 8185 | } |
@@ -21,7 +21,6 @@ ${VAT_INCLUDED} ${True} | @@ -21,7 +21,6 @@ ${VAT_INCLUDED} ${True} | ||
21 | ${ROAD_INDEX} ${False} | 21 | ${ROAD_INDEX} ${False} |
22 | ${GMDN_INDEX} ${False} | 22 | ${GMDN_INDEX} ${False} |
23 | ${PLAN_TENDER} ${True} | 23 | ${PLAN_TENDER} ${True} |
24 | -${PROFILE} ${True} | ||
25 | 24 | ||
26 | *** Test Cases *** | 25 | *** Test Cases *** |
27 | Неможливість оголосити тендер з tenderPeriod:endDate < 2 робочих дні | 26 | Неможливість оголосити тендер з tenderPeriod:endDate < 2 робочих дні |
@@ -32,7 +31,119 @@ ${PROFILE} ${True} | @@ -32,7 +31,119 @@ ${PROFILE} ${True} | ||
32 | ... critical | 31 | ... critical |
33 | [Teardown] Оновити LAST_MODIFICATION_DATE | 32 | [Teardown] Оновити LAST_MODIFICATION_DATE |
34 | Set Test Variable ${WRONG_TENDER_DATE} ${True} | 33 | Set Test Variable ${WRONG_TENDER_DATE} ${True} |
35 | - Run Keyword And Expect Error * Можливість оголосити тендер | 34 | + ${value}= Run Keyword And Expect Error * Можливість оголосити тендер з недоліками в параметрах |
35 | + ${value}= Convert To Lowercase ${value} | ||
36 | + Should Contain ${value} the tenderperiod cannot end earlier than 2 business days after the start | ||
37 | + | ||
38 | + | ||
39 | +Неможливість оголосити тендер з порожнім profile параметром | ||
40 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера | ||
41 | + ... tender_owner | ||
42 | + ... ${USERS.users['${tender_owner}'].broker} | ||
43 | + ... create_tender_empty_profile level1 | ||
44 | + ... critical | ||
45 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
46 | + Set Test Variable ${EMPTY_PROFILE} ${True} | ||
47 | + ${value}= Run Keyword And Expect Error * Можливість оголосити тендер з недоліками в параметрах | ||
48 | + ${value}= Convert To Lowercase ${value} | ||
49 | + Should Contain ${value} the profile value doesn't match id pattern | ||
50 | + | ||
51 | + | ||
52 | +Неможливість явно оголосити тендер з доступних статусів за виключенням draft | ||
53 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера | ||
54 | + ... tender_owner | ||
55 | + ... ${USERS.users['${tender_owner}'].broker} | ||
56 | + ... create_tender_without_2_phase_commit level1 | ||
57 | + ... critical | ||
58 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
59 | + Set Test Variable ${TENDER_WRONG_STATUS} ${True} | ||
60 | + Можливість оголосити тендер без 2-ї фази commit-у | ||
61 | + | ||
62 | + | ||
63 | +Відображення статуса тендера draft | ||
64 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера | ||
65 | + ... viewer | ||
66 | + ... ${USERS.users['${viewer}'].broker} | ||
67 | + ... tender_view_status_draft | ||
68 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
69 | + Звірити поле тендера із значенням ${tender_owner} ${TENDER['TENDER_UAID']} | ||
70 | + ... draft | ||
71 | + ... status | ||
72 | + | ||
73 | + | ||
74 | +Неможливість змінити tenderPeriod:endDate < 2 робочих дні | ||
75 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера | ||
76 | + ... tender_owner | ||
77 | + ... ${USERS.users['${tender_owner}'].broker} | ||
78 | + ... patch_tender_wrong_date level1 | ||
79 | + ... critical | ||
80 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
81 | + ${endDate}= add_minutes_to_date ${USERS.users['${tender_owner}'].tender_data.data.tenderPeriod.startDate} 1 | ||
82 | + Перевірити неможливість зміни поля tenderPeriod.endDate тендера на значення ${endDate} для користувача ${tender_owner} | ||
83 | + | ||
84 | + | ||
85 | +Неможливість змінити procuringEntity.kind на central | ||
86 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера | ||
87 | + ... tender_owner | ||
88 | + ... ${USERS.users['${tender_owner}'].broker} | ||
89 | + ... patch_tender_wrong_procuringEntity_kind level1 | ||
90 | + ... critical | ||
91 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
92 | + Перевірити неможливість зміни поля procuringEntity.kind тендера на значення central для користувача ${tender_owner} | ||
93 | + | ||
94 | + | ||
95 | +Неможливість змінити статус з draft на один із інших, крім draft.publishing | ||
96 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування тендера | ||
97 | + ... tender_owner | ||
98 | + ... ${USERS.users['${tender_owner}'].broker} | ||
99 | + ... impossible_change_tender_status_form_draft_to_another_except_draft_publishing level1 | ||
100 | + ... critical | ||
101 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
102 | + @{statuses}= Create List | ||
103 | + ... draft.unsuccessful | ||
104 | + ... active.tendering | ||
105 | + ... active.qualification | ||
106 | + ... active.awarded | ||
107 | + ... complete | ||
108 | + ... cancelled | ||
109 | + ... unsuccessful | ||
110 | + :FOR ${status} IN @{statuses} | ||
111 | + \ ${value}= Require Failure ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} status ${status} | ||
112 | + \ Convert To Lowercase ${value} | ||
113 | + \ Should Contain ${value} can't switch tender from status (draft) to (${status}) | ||
114 | + | ||
115 | + | ||
116 | +Можливість оголосити тендер з профайлом, статус якого hidden | ||
117 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера | ||
118 | + ... tender_owner | ||
119 | + ... ${USERS.users['${tender_owner}'].broker} | ||
120 | + ... create_tender_hidden level1 | ||
121 | + ... critical | ||
122 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
123 | + Set Test Variable ${PROFILES_HIDDEN_STATUS} ${True} | ||
124 | + Можливість оголосити тендер з недоліками в параметрах | ||
125 | + | ||
126 | + | ||
127 | +Можливість оголосити тендер з пустим shortlistedfirms | ||
128 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера | ||
129 | + ... tender_owner | ||
130 | + ... ${USERS.users['${tender_owner}'].broker} | ||
131 | + ... create_tender_shortlistedfirms_empty level1 | ||
132 | + ... critical | ||
133 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
134 | + Set Test Variable ${PROFILES_SHORTLISTEDFIRMS_EMPTY} ${True} | ||
135 | + Можливість оголосити тендер з недоліками в параметрах | ||
136 | + | ||
137 | + | ||
138 | +Можливість оголосити тендер з неіснуючим профайлом | ||
139 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера | ||
140 | + ... tender_owner | ||
141 | + ... ${USERS.users['${tender_owner}'].broker} | ||
142 | + ... create_tender_unknown_profile level1 | ||
143 | + ... critical | ||
144 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
145 | + Set Test Variable ${UNKNOWN_PROFILE} ${True} | ||
146 | + Можливість оголосити тендер з недоліками в параметрах | ||
36 | 147 | ||
37 | 148 | ||
38 | Можливість оголосити тендер | 149 | Можливість оголосити тендер |
@@ -45,6 +156,29 @@ ${PROFILE} ${True} | @@ -45,6 +156,29 @@ ${PROFILE} ${True} | ||
45 | Можливість оголосити тендер | 156 | Можливість оголосити тендер |
46 | 157 | ||
47 | 158 | ||
159 | +Можливість оголосити тендер з некоректним профайлом | ||
160 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера | ||
161 | + ... tender_owner | ||
162 | + ... ${USERS.users['${tender_owner}'].broker} | ||
163 | + ... create_tender_invalid_profile level1 | ||
164 | + ... critical | ||
165 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
166 | + Set Test Variable ${WROGN_PROFILE} ${True} | ||
167 | + Можливість оголосити тендер з недоліками в параметрах | ||
168 | + | ||
169 | + | ||
170 | +Неможливість змінити статус з draft.publishing на active.tendering | ||
171 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Неможливість редагувати тендер | ||
172 | + ... tender_owner | ||
173 | + ... ${USERS.users['${tender_owner}'].broker} | ||
174 | + ... impossible_change_tendering_status level1 | ||
175 | + ... critical | ||
176 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
177 | + ${value}= Require Failure ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} status active.tendering | ||
178 | + Convert To Lowercase ${value} | ||
179 | + Should Contain ${value} can't switch tender from status (draft.publishing) to (active.tendering) | ||
180 | + | ||
181 | + | ||
48 | Можливість знайти тендер по ідентифікатору | 182 | Можливість знайти тендер по ідентифікатору |
49 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера | 183 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера |
50 | ... viewer tender_owner provider provider1 | 184 | ... viewer tender_owner provider provider1 |
@@ -65,6 +199,26 @@ ${PROFILE} ${True} | @@ -65,6 +199,26 @@ ${PROFILE} ${True} | ||
65 | Звірити відображення поля title тендера для користувача ${viewer} | 199 | Звірити відображення поля title тендера для користувача ${viewer} |
66 | 200 | ||
67 | 201 | ||
202 | +Відображення заголовку тендера російською мовою | ||
203 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера | ||
204 | + ... viewer | ||
205 | + ... ${USERS.users['${viewer}'].broker} | ||
206 | + ... tender_view level1 | ||
207 | + ... non-critical | ||
208 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
209 | + Звірити відображення поля title_ru тендера для користувача ${viewer} | ||
210 | + | ||
211 | + | ||
212 | +Відсутнє відображення заголовку тендера англійською мовою якщо при створенні не вказувались дані | ||
213 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера | ||
214 | + ... viewer | ||
215 | + ... ${USERS.users['${viewer}'].broker} | ||
216 | + ... tender_view level1 | ||
217 | + ... non-critical | ||
218 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
219 | + Run Keyword And Expect Error * Звірити відображення поля title_en тендера для користувача ${viewer} | ||
220 | + | ||
221 | + | ||
68 | Відображення опису тендера | 222 | Відображення опису тендера |
69 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера | 223 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера |
70 | ... viewer | 224 | ... viewer |
@@ -159,6 +313,17 @@ ${PROFILE} ${True} | @@ -159,6 +313,17 @@ ${PROFILE} ${True} | ||
159 | Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} | 313 | Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} |
160 | 314 | ||
161 | 315 | ||
316 | +Неможливість змінити заголовок тендера під час прийому пропозицій | ||
317 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування тендера | ||
318 | + ... tender_owner | ||
319 | + ... ${USERS.users['${tender_owner}'].broker} | ||
320 | + ... change_data_active_tendering | ||
321 | + ... critical | ||
322 | + ${new_title}= create_fake_title | ||
323 | + Перевірити неможливість зміни поля title тендера на значення ${new_title} для користувача ${tender_owner} | ||
324 | + Remove From Dictionary ${USERS.users['${tender_owner}'].tender_data.data} title | ||
325 | + | ||
326 | + | ||
162 | Неможливість подати пропозицію з перевищеним лімітом | 327 | Неможливість подати пропозицію з перевищеним лімітом |
163 | [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | 328 | [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції |
164 | ... provider | 329 | ... provider |
@@ -170,6 +335,45 @@ ${PROFILE} ${True} | @@ -170,6 +335,45 @@ ${PROFILE} ${True} | ||
170 | Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider} | 335 | Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider} |
171 | 336 | ||
172 | 337 | ||
338 | +Неможливість подати пропозицію при відсутності однієї з характеристик | ||
339 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | ||
340 | + ... provider | ||
341 | + ... ${USERS.users['${provider}'].broker} | ||
342 | + ... impossible_make_bid | ||
343 | + ... non-critical | ||
344 | + [Setup] Дочекатись синхронізації з майданчиком ${provider} | ||
345 | + Set Test Variable ${BID_ONE_OF_THE_CRITERIAS_IS_MISSING} ${True} | ||
346 | + ${value}= Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider} | ||
347 | + ${value}= Convert To Lowercase ${value} | ||
348 | + Should Contain ${value} missing references for criterias | ||
349 | + | ||
350 | + | ||
351 | +Неможливість подати пропозицію, якщо більше однієї характеристики знаходяться в різних групах, але в одній критерії | ||
352 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | ||
353 | + ... provider | ||
354 | + ... ${USERS.users['${provider}'].broker} | ||
355 | + ... impossible_make_bid | ||
356 | + ... non-critical | ||
357 | + [Setup] Дочекатись синхронізації з майданчиком ${provider} | ||
358 | + Set Test Variable ${BID_SAME_GROUPS_DIFFERENT_CRITERIA} ${True} | ||
359 | + ${value}= Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider} | ||
360 | + ${value}= Convert To Lowercase ${value} | ||
361 | + Should Contain ${value} conflicting in criteria | ||
362 | + | ||
363 | + | ||
364 | +Неможливість подати пропозицію, якщо характеристика не відповідає вимозі | ||
365 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | ||
366 | + ... provider | ||
367 | + ... ${USERS.users['${provider}'].broker} | ||
368 | + ... impossible_make_bid | ||
369 | + ... non-critical | ||
370 | + [Setup] Дочекатись синхронізації з майданчиком ${provider} | ||
371 | + Set Test Variable ${BID_INVALID_EXPECTED_VALUE} ${True} | ||
372 | + ${value}= Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider} | ||
373 | + ${value}= Convert To Lowercase ${value} | ||
374 | + Should Contain ${value} does not match expected value | ||
375 | + | ||
376 | + | ||
173 | Можливість подати пропозицію першим учасником | 377 | Можливість подати пропозицію першим учасником |
174 | [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | 378 | [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції |
175 | ... provider | 379 | ... provider |
@@ -233,6 +437,17 @@ ${PROFILE} ${True} | @@ -233,6 +437,17 @@ ${PROFILE} ${True} | ||
233 | Можливість подати цінову пропозицію priceQuotation користувачем ${provider2} | 437 | Можливість подати цінову пропозицію priceQuotation користувачем ${provider2} |
234 | 438 | ||
235 | 439 | ||
440 | +Неможливість видалити пропозицію першим учасником під час прийому пропозицій | ||
441 | + [Tags] ${USERS.users['${provider1}'].broker}: Скасування пропозиції | ||
442 | + ... provider | ||
443 | + ... ${USERS.users['${provider1}'].broker} | ||
444 | + ... delete_bid_while_tendering_period_by_provider | ||
445 | + ... non-critical | ||
446 | + ${value}= Run Keyword And Expect Error * Можливість скасувати цінову пропозицію користувачем ${provider} | ||
447 | + ${value}= Convert To Lowercase ${value} | ||
448 | + Should Contain ${value} can't delete bid in price quotation tender | ||
449 | + | ||
450 | + | ||
236 | Можливість дочекатись дати початку періоду кваліфікації | 451 | Можливість дочекатись дати початку періоду кваліфікації |
237 | [Tags] ${USERS.users['${provider}'].broker}: Подання кваліфікації | 452 | [Tags] ${USERS.users['${provider}'].broker}: Подання кваліфікації |
238 | ... provider | 453 | ... provider |
@@ -243,6 +458,20 @@ ${PROFILE} ${True} | @@ -243,6 +458,20 @@ ${PROFILE} ${True} | ||
243 | Дочекатись дати початку періоду кваліфікації ${provider} ${TENDER['TENDER_UAID']} | 458 | Дочекатись дати початку періоду кваліфікації ${provider} ${TENDER['TENDER_UAID']} |
244 | 459 | ||
245 | 460 | ||
461 | +Відображення пропозиції з мінімальною ціною на розгляді | ||
462 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди | ||
463 | + ... viewer | ||
464 | + ... ${USERS.users['${viewer}'].broker} | ||
465 | + ... award_view_min_amount | ||
466 | + ... non-critical | ||
467 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
468 | + ${min_bid_amount}= Отримати мінімальне значення amount з поданих пропозицій | ||
469 | + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer} | ||
470 | + Log ${min_bid_amount} | ||
471 | + Log ${award} | ||
472 | + Порівняти об'єкти ${min_bid_amount} ${award.value.amount} | ||
473 | + | ||
474 | + | ||
246 | Можливість завантажити документ рішення кваліфікаційної комісії для підтвердження постачальника | 475 | Можливість завантажити документ рішення кваліфікаційної комісії для підтвердження постачальника |
247 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | 476 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації |
248 | ... tender_owner | 477 | ... tender_owner |
@@ -268,6 +497,18 @@ ${PROFILE} ${True} | @@ -268,6 +497,18 @@ ${PROFILE} ${True} | ||
268 | Remove File ${file_path} | 497 | Remove File ${file_path} |
269 | 498 | ||
270 | 499 | ||
500 | +Неможливість скасувати своє рішення на етапі кваліфікації | ||
501 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | ||
502 | + ... provider | ||
503 | + ... provider1 | ||
504 | + ... provider2 | ||
505 | + ... ${USERS.users['${tender_owner}'].broker} | ||
506 | + ... impossible_cancel_1_award_qualification_by_provider | ||
507 | + ... critical | ||
508 | + ${user}= Пошук постачальника пропозиції з awards по індексу 0 | ||
509 | + Run Keyword And Expect Error * Run As ${user} Скасування рішення кваліфікаційної комісії ${TENDER['TENDER_UAID']} 0 | ||
510 | + | ||
511 | + | ||
271 | Можливість дискваліфікуватися постачальником | 512 | Можливість дискваліфікуватися постачальником |
272 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | 513 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації |
273 | ... provider | 514 | ... provider |
@@ -279,6 +520,17 @@ ${PROFILE} ${True} | @@ -279,6 +520,17 @@ ${PROFILE} ${True} | ||
279 | Run As ${user} Дискваліфікувати постачальника ${TENDER['TENDER_UAID']} 0 | 520 | Run As ${user} Дискваліфікувати постачальника ${TENDER['TENDER_UAID']} 0 |
280 | 521 | ||
281 | 522 | ||
523 | +Неможливість видалити пропозицію учасником після закінчення прийому пропозицій | ||
524 | + [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції | ||
525 | + ... provider | ||
526 | + ... ${USERS.users['${provider1}'].broker} | ||
527 | + ... cancel_bid_after_tendering_period_by_provider | ||
528 | + ... non-critical | ||
529 | + ${value}= Run Keyword And Expect Error * Можливість скасувати цінову пропозицію користувачем ${provider} | ||
530 | + ${value}= Convert To Lowercase ${value} | ||
531 | + Should Contain ${value} can't delete bid in current (active.qualification) tender status | ||
532 | + | ||
533 | + | ||
282 | Можливість дискваліфікації другого постачальника, якщо 2 дні не було підтвердження | 534 | Можливість дискваліфікації другого постачальника, якщо 2 дні не було підтвердження |
283 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | 535 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації |
284 | ... tender_owner | 536 | ... tender_owner |
@@ -413,6 +665,61 @@ ${PROFILE} ${True} | @@ -413,6 +665,61 @@ ${PROFILE} ${True} | ||
413 | Дочекатися припинення процесу ${viewer} ${TENDER['TENDER_UAID']} | 665 | Дочекатися припинення процесу ${viewer} ${TENDER['TENDER_UAID']} |
414 | 666 | ||
415 | 667 | ||
668 | +Відображення причини відхилення тендера, якщо профайл із hidden статусом | ||
669 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера | ||
670 | + ... viewer | ||
671 | + ... ${USERS.users['${viewer}'].broker} | ||
672 | + ... tender_unsuccessfully_reason_profile_hidden | ||
673 | + Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']} | ||
674 | + ... Обраний профіль неактивний в системі Prozorro.Market | ||
675 | + ... unsuccessfulReason | ||
676 | + | ||
677 | + | ||
678 | +Відображення причини відхилення тендера, якщо shortlistedfirms пустий | ||
679 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера | ||
680 | + ... viewer | ||
681 | + ... ${USERS.users['${viewer}'].broker} | ||
682 | + ... tender_unsuccessfully_reason_shortlistedfirms_empty | ||
683 | + Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']} | ||
684 | + ... В обраному профілі немає активних постачальників | ||
685 | + ... unsuccessfulReason | ||
686 | + | ||
687 | + | ||
688 | +Відображення причини відхилення тендера, якщо профайл неіснуючий | ||
689 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера | ||
690 | + ... viewer | ||
691 | + ... ${USERS.users['${viewer}'].broker} | ||
692 | + ... tender_unsuccessfully_reason_unknown_profile | ||
693 | + Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']} | ||
694 | + ... Обраний профіль не існує в системі Prozorro.Market | ||
695 | + ... unsuccessfulReason | ||
696 | + | ||
697 | + | ||
698 | + | ||
699 | +Неможливість подати пропозицію в статусі draft | ||
700 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | ||
701 | + ... provider | ||
702 | + ... ${USERS.users['${provider}'].broker} | ||
703 | + ... impossible_make_bid_when_draft | ||
704 | + ... non-critical | ||
705 | + [Setup] Дочекатись синхронізації з майданчиком ${provider} | ||
706 | + ${value}= Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider} | ||
707 | + ${value}= Convert To Lowercase ${value} | ||
708 | + Should Contain ${value} can't add bid in current (draft) tender status | ||
709 | + | ||
710 | + | ||
711 | +Неможливість подати пропозицію в статусі draft.unsuccessful | ||
712 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | ||
713 | + ... provider | ||
714 | + ... ${USERS.users['${provider}'].broker} | ||
715 | + ... impossible_make_bid_when_draft_unsuccessful | ||
716 | + ... non-critical | ||
717 | + [Setup] Дочекатись синхронізації з майданчиком ${provider} | ||
718 | + ${value}= Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider} | ||
719 | + ${value}= Convert To Lowercase ${value} | ||
720 | + Should Contain ${value} can't add bid in current (draft.unsuccessful) tender status | ||
721 | + | ||
722 | + | ||
416 | Відображення статусу завершення, якщо не було подано жодних пропозицій | 723 | Відображення статусу завершення, якщо не було подано жодних пропозицій |
417 | [Tags] ${USERS.users['${viewer}'].broker}: Завершення тендера | 724 | [Tags] ${USERS.users['${viewer}'].broker}: Завершення тендера |
418 | ... viewer tender_owner provider provider1 | 725 | ... viewer tender_owner provider provider1 |
@@ -423,6 +730,58 @@ ${PROFILE} ${True} | @@ -423,6 +730,58 @@ ${PROFILE} ${True} | ||
423 | Дочекатись зміни статусу unsuccessful ${viewer} ${TENDER['TENDER_UAID']} | 730 | Дочекатись зміни статусу unsuccessful ${viewer} ${TENDER['TENDER_UAID']} |
424 | 731 | ||
425 | 732 | ||
733 | +Відображення вартості угоди без урахування ПДВ | ||
734 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди | ||
735 | + ... viewer | ||
736 | + ... ${USERS.users['${viewer}'].broker} | ||
737 | + ... contract_view | ||
738 | + ... non-critical | ||
739 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
740 | + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer} | ||
741 | + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer} | ||
742 | + Log ${award} | ||
743 | + ${contract}= Отримати останній элемент contracts ${tender_owner} ${viewer} | ||
744 | + Log ${contract} | ||
745 | + Log ${award.value.amount} | ||
746 | + Звірити відображення поля contracts[${contract_index}].value.amountNet тендера із ${award.value.amount} для користувача ${viewer} | ||
747 | + | ||
748 | + | ||
749 | +Відображення вартості угоди | ||
750 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди | ||
751 | + ... viewer | ||
752 | + ... ${USERS.users['${viewer}'].broker} | ||
753 | + ... contract_view | ||
754 | + ... non-critical | ||
755 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
756 | + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer} | ||
757 | + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer} | ||
758 | + Log ${award} | ||
759 | + ${contract}= Отримати останній элемент contracts ${tender_owner} ${viewer} | ||
760 | + Log ${contract} | ||
761 | + Log ${award.value.amount} | ||
762 | + Звірити відображення поля contracts[${contract_index}].value.amount тендера із ${award.value.amount} для користувача ${viewer} | ||
763 | + | ||
764 | + | ||
765 | +Неможливість зменшити ціну договору без ПДВ на суму більшу за 20% від ціни договору з ПДВ (закупівля з ПДВ) | ||
766 | +# contract:value:amountNet can be <= contract:value:amount but no more than on contract:value:amount/1.2 if valueAddedTaxIncluded=ture | ||
767 | +# lots:value:valueAddedTaxIncluded:true - contract:value:valueAddedTaxIncluded:true | ||
768 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди | ||
769 | + ... tender_owner | ||
770 | + ... ${USERS.users['${tender_owner}'].broker} | ||
771 | + ... modify_contract_invalid_amountNet_tender_vat_true | ||
772 | + ... critical | ||
773 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
774 | + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer} | ||
775 | + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer} | ||
776 | + ${invalid_amountNet}= Evaluate ${award.value.amount} / 2 | ||
777 | + ${value}= Require Failure ${tender_owner} Редагувати угоду | ||
778 | + ... ${TENDER['TENDER_UAID']} | ||
779 | + ... ${contract_index} | ||
780 | + ... value.amountNet | ||
781 | + ... ${invalid_amountNet} | ||
782 | + Should Contain ${value} Amount should be greater than amountNet and differ by no more than 20.0% | ||
783 | + | ||
784 | + | ||
426 | Можливість редагувати вартість угоди без урахування ПДВ | 785 | Можливість редагувати вартість угоди без урахування ПДВ |
427 | [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди | 786 | [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди |
428 | ... tender_owner | 787 | ... tender_owner |
@@ -443,6 +802,19 @@ ${PROFILE} ${True} | @@ -443,6 +802,19 @@ ${PROFILE} ${True} | ||
443 | ... ${amount_net} | 802 | ... ${amount_net} |
444 | 803 | ||
445 | 804 | ||
805 | +Відображення відредагованої вартості угоди без урахування ПДВ | ||
806 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди | ||
807 | + ... viewer | ||
808 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
809 | + ... contract_view_new_amountNet | ||
810 | + ... non-critical | ||
811 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
812 | + ${amount_net}= Get Variable Value ${USERS.users['${tender_owner}'].new_amount_net} | ||
813 | + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer} | ||
814 | + ${amount_net_field}= Set Variable contracts[${contract_index}].value.amountNet | ||
815 | + Звірити відображення поля ${amount_net_field} тендера із ${amount_net} для користувача ${viewer} | ||
816 | + | ||
817 | + | ||
446 | Можливість редагувати вартість угоди | 818 | Можливість редагувати вартість угоди |
447 | ${viewer_data}= Get From Dictionary ${USERS.users} ${viewer} | 819 | ${viewer_data}= Get From Dictionary ${USERS.users} ${viewer} |
448 | ${tender_owner_data}= Get From Dictionary ${USERS.users} ${tender_owner} | 820 | ${tender_owner_data}= Get From Dictionary ${USERS.users} ${tender_owner} |
@@ -465,6 +837,78 @@ ${PROFILE} ${True} | @@ -465,6 +837,78 @@ ${PROFILE} ${True} | ||
465 | ... ${amount} | 837 | ... ${amount} |
466 | 838 | ||
467 | 839 | ||
840 | +Відображення відредагованої вартості угоди | ||
841 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди | ||
842 | + ... viewer | ||
843 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
844 | + ... contract_view_new_amount | ||
845 | + ... non-critical | ||
846 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
847 | + ${amount}= Get Variable Value ${USERS.users['${tender_owner}'].new_amount} | ||
848 | + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer} | ||
849 | + ${amount_field}= Set Variable contracts[${contract_index}].value.amount | ||
850 | + Звірити відображення поля ${amount_field} тендера із ${amount} для користувача ${viewer} | ||
851 | + | ||
852 | + | ||
853 | +Неможливість вказати ціну договору з ПДВ більше ніж результат проведення аукціону | ||
854 | +# contract:value:amount should be <= award.value.amount if valueAddedTaxIncluded=ture | ||
855 | +# lots:value:valueAddedTaxIncluded:true - contract:value:valueAddedTaxIncluded:true | ||
856 | +# lots:value:valueAddedTaxIncluded:true - contract:value:valueAddedTaxIncluded:false | ||
857 | +# lots:value:valueAddedTaxIncluded:false - contract:value:valueAddedTaxIncluded:false | ||
858 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди | ||
859 | + ... tender_owner | ||
860 | + ... ${USERS.users['${tender_owner}'].broker} | ||
861 | + ... modify_contract_invalid_amount | ||
862 | + ... critical | ||
863 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
864 | + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer} | ||
865 | + ${contract}= Отримати останній элемент contracts ${tender_owner} ${viewer} | ||
866 | + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer} | ||
867 | + ${amount}= Evaluate ${award.value.amount} * 2 | ||
868 | + ${value}= Require Failure ${tender_owner} Редагувати угоду | ||
869 | + ... ${TENDER['TENDER_UAID']} | ||
870 | + ... ${contract_index} | ||
871 | + ... value.amount | ||
872 | + ... ${amount} | ||
873 | + Run Keyword IF '${award.value.valueAddedTaxIncluded}' == '${True}' and '${contract.value.valueAddedTaxIncluded}' == '${True}' and '${MODE}' == 'open_esco' | ||
874 | + ... Should Contain ${value} Can't update amount for contract value | ||
875 | + ... ELSE | ||
876 | + ... Should Contain ${value} Amount should be less or equal to awarded amount | ||
877 | + Run Keyword IF '${award.value.valueAddedTaxIncluded}' == '${True}' and '${contract.value.valueAddedTaxIncluded}' == '${False}' | ||
878 | + ... Should Contain ${value} Amount should be less or equal to awarded amount | ||
879 | + Run Keyword IF '${award.value.valueAddedTaxIncluded}' == '${False}' and '${contract.value.valueAddedTaxIncluded}' == '${False}' | ||
880 | + ... Should Contain ${value} Amount should be less or equal to awarded amount | ||
881 | + | ||
882 | + | ||
883 | +Можливість встановити дату підписання угоди | ||
884 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди | ||
885 | + ... tender_owner | ||
886 | + ... ${USERS.users['${tender_owner}'].broker} | ||
887 | + ... modify_contract | ||
888 | + ... critical | ||
889 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
890 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
891 | + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer} | ||
892 | + ${dateSigned}= create_fake_date | ||
893 | + Set to dictionary ${USERS.users['${tender_owner}']} dateSigned=${dateSigned} | ||
894 | + Run As ${tender_owner} Встановити дату підписання угоди ${TENDER['TENDER_UAID']} ${contract_index} ${dateSigned} | ||
895 | + | ||
896 | + | ||
897 | +Можливість вказати період дії угоди | ||
898 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди | ||
899 | + ... tender_owner | ||
900 | + ... ${USERS.users['${tender_owner}'].broker} | ||
901 | + ... modify_contract | ||
902 | + ... critical | ||
903 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
904 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
905 | + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer} | ||
906 | + ${startDate}= create_fake_date | ||
907 | + ${endDate}= add_minutes_to_date ${startDate} 10 | ||
908 | + Set to dictionary ${USERS.users['${tender_owner}']} contract_startDate=${startDate} contract_endDate=${endDate} | ||
909 | + Run As ${tender_owner} Вказати період дії угоди ${TENDER['TENDER_UAID']} ${contract_index} ${startDate} ${endDate} | ||
910 | + | ||
911 | + | ||
468 | Можливість укласти угоду для закупівлі | 912 | Можливість укласти угоду для закупівлі |
469 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди | 913 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди |
470 | ... tender_owner | 914 | ... tender_owner |
@@ -489,6 +933,201 @@ ${PROFILE} ${True} | @@ -489,6 +933,201 @@ ${PROFILE} ${True} | ||
489 | Звірити відображення поля contracts[${contract_index}].status тендера із active для користувача ${viewer} | 933 | Звірити відображення поля contracts[${contract_index}].status тендера із active для користувача ${viewer} |
490 | 934 | ||
491 | 935 | ||
936 | +Можливість знайти закупівлю по ідентифікатору | ||
937 | + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера | ||
938 | + ... ${USERS.users['${tender_owner}'].broker}: Пошук тендера | ||
939 | + ... viewer tender_owner | ||
940 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
941 | + ... find_tender_contract | ||
942 | + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer} | ||
943 | + ${CONTRACT_UAID}= Get variable value ${USERS.users['${tender_owner}'].tender_data.data.contracts[${contract_index}].contractID} | ||
944 | + Set Suite Variable ${CONTRACT_UAID} | ||
945 | + | ||
946 | + | ||
947 | +Можливість знайти договір по ідентифікатору | ||
948 | + [Tags] ${USERS.users['${viewer}'].broker}: Пошук договору | ||
949 | + ... ${USERS.users['${tender_owner}'].broker}: Пошук договору | ||
950 | + ... viewer tender_owner | ||
951 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
952 | + ... find_contract | ||
953 | + :FOR ${username} IN @{used_roles} | ||
954 | + \ Run As ${${username}} Пошук договору по ідентифікатору ${CONTRACT_UAID} | ||
955 | + | ||
956 | + | ||
957 | +Можливість отримати доступ до договору | ||
958 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Отримання прав доступу до договору | ||
959 | + ... tender_owner | ||
960 | + ... ${USERS.users['${tender_owner}'].broker} | ||
961 | + ... access_contract | ||
962 | + Run As ${tender_owner} Отримати доступ до договору ${CONTRACT_UAID} | ||
963 | + | ||
964 | + | ||
965 | +Можливість внести зміну до умов договору | ||
966 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни | ||
967 | + ... tender_owner | ||
968 | + ... ${USERS.users['${tender_owner}'].broker} | ||
969 | + ... submit_change | ||
970 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
971 | + ${change_data}= Підготувати дані про зміну до договору ${tender_owner} | ||
972 | + Run As ${tender_owner} Внести зміну в договір ${CONTRACT_UAID} ${change_data} | ||
973 | + | ||
974 | + | ||
975 | +Відображення опису причини зміни договору | ||
976 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни договору | ||
977 | + ... tender_owner | ||
978 | + ... ${USERS.users['${viewer}'].broker} | ||
979 | + ... view_change | ||
980 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
981 | + Звірити відображення поля rationale зміни до договору для користувача ${viewer} | ||
982 | + | ||
983 | + | ||
984 | +Відображення причин зміни договору | ||
985 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни договору | ||
986 | + ... tender_owner | ||
987 | + ... ${USERS.users['${viewer}'].broker} | ||
988 | + ... view_change | ||
989 | + Звірити відображення причин зміни договору | ||
990 | + | ||
991 | + | ||
992 | +Відображення непідтвердженого статусу зміни договору | ||
993 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни договору | ||
994 | + ... tender_owner | ||
995 | + ... ${USERS.users['${viewer}'].broker} | ||
996 | + ... view_change | ||
997 | + Звірити поле зміни до договору із значенням | ||
998 | + ... ${viewer} | ||
999 | + ... ${CONTRACT_UAID} | ||
1000 | + ... pending | ||
1001 | + ... status | ||
1002 | + | ||
1003 | + | ||
1004 | +Можливість додати документацію до зміни договору | ||
1005 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування договору | ||
1006 | + ... tender_owner | ||
1007 | + ... ${USERS.users['${tender_owner}'].broker} | ||
1008 | + ... upload_change_document | ||
1009 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
1010 | + Додати документацію до зміни договору | ||
1011 | + | ||
1012 | + | ||
1013 | +Відображення заголовку документації до зміни договору | ||
1014 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації | ||
1015 | + ... viewer | ||
1016 | + ... ${USERS.users['${viewer}'].broker} | ||
1017 | + ... upload_change_document | ||
1018 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
1019 | + Звірити відображення поля title документа ${USERS.users['${tender_owner}']['change_doc']['id']} до договору з ${USERS.users['${tender_owner}']['change_doc']['name']} для користувача ${viewer} | ||
1020 | + | ||
1021 | + | ||
1022 | +Відображення вмісту документації до зміни договору | ||
1023 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації | ||
1024 | + ... viewer | ||
1025 | + ... ${USERS.users['${viewer}'].broker} | ||
1026 | + ... upload_change_document | ||
1027 | + Звірити відображення вмісту документа ${USERS.users['${tender_owner}']['change_doc']['id']} до договору з ${USERS.users['${tender_owner}']['change_doc']['content']} для користувача ${viewer} | ||
1028 | + | ||
1029 | + | ||
1030 | +Можливість редагувати опис причини зміни договору | ||
1031 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування зміни | ||
1032 | + ... tender_owner | ||
1033 | + ... ${USERS.users['${tender_owner}'].broker} | ||
1034 | + ... modify_change | ||
1035 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
1036 | + ${new_rationale}= create_fake_sentence | ||
1037 | + Set to dictionary ${USERS.users['${tender_owner}']} new_rationale=${new_rationale} | ||
1038 | + Run As ${tender_owner} Редагувати зміну ${CONTRACT_UAID} rationale ${new_rationale} | ||
1039 | + | ||
1040 | + | ||
1041 | +Можливість редагувати вартість договору без ПДВ | ||
1042 | + [Tags] ${USERS.users['${tender_owner}']}: Редагування договору | ||
1043 | + ... tender_owner | ||
1044 | + ... ${USERS.users['${tender_owner}']} | ||
1045 | + ... change_contract_amountNet | ||
1046 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
1047 | + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer} | ||
1048 | + ${amount_net}= create_fake_amount_net | ||
1049 | + ... ${USERS.users['${tender_owner}'].contract_data.data.value.amount} | ||
1050 | + ... ${award.value.valueAddedTaxIncluded} | ||
1051 | + ... ${USERS.users['${tender_owner}'].contract_data.data.value.valueAddedTaxIncluded} | ||
1052 | + Set to dictionary ${USERS.users['${tender_owner}']} new_amount_net=${amount_net} | ||
1053 | + Run As ${tender_owner} Редагувати поле договору ${CONTRACT_UAID} value.amountNet ${amount_net} | ||
1054 | + | ||
1055 | + | ||
1056 | +Можливість редагувати вартість договору | ||
1057 | + [Tags] ${USERS.users['${tender_owner}']}: Редагування договору | ||
1058 | + ... tender_owner | ||
1059 | + ... ${USERS.users['${tender_owner}']} | ||
1060 | + ... change_contract_amount | ||
1061 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
1062 | + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer} | ||
1063 | + ${amount}= create_fake_amount | ||
1064 | + ... ${USERS.users['${tender_owner}'].contract_data.data.value.amount} | ||
1065 | + ... ${award.value.valueAddedTaxIncluded} | ||
1066 | + ... ${USERS.users['${tender_owner}'].contract_data.data.value.valueAddedTaxIncluded} | ||
1067 | + Set to dictionary ${USERS.users['${tender_owner}']} new_amount=${amount} | ||
1068 | + Run As ${tender_owner} Редагувати поле договору ${CONTRACT_UAID} value.amount ${amount} | ||
1069 | + | ||
1070 | + | ||
1071 | +Можливість застосувати зміну договору | ||
1072 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування договору | ||
1073 | + ... tender_owner | ||
1074 | + ... ${USERS.users['${tender_owner}'].broker} | ||
1075 | + ... apply_change | ||
1076 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
1077 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
1078 | + ${dateSigned}= create_fake_date | ||
1079 | + Run As ${tender_owner} Застосувати зміну ${CONTRACT_UAID} ${dateSigned} | ||
1080 | + Set to dictionary ${USERS.users['${tender_owner}'].change_data.data} status=active | ||
1081 | + | ||
1082 | + | ||
1083 | +Відображення підтвердженого статусу зміни договору | ||
1084 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни договору | ||
1085 | + ... tender_owner | ||
1086 | + ... ${USERS.users['${viewer}'].broker} | ||
1087 | + ... apply_change | ||
1088 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
1089 | + Delete From Dictionary ${USERS.users['${viewer}'].contract_data.data.changes[0]} status | ||
1090 | + Звірити поле зміни до договору із значенням | ||
1091 | + ... ${viewer} | ||
1092 | + ... ${CONTRACT_UAID} | ||
1093 | + ... active | ||
1094 | + ... status | ||
1095 | + | ||
1096 | + | ||
1097 | +Можливість завантажити документацію до договору | ||
1098 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Додання документації до договору | ||
1099 | + ... tender_owner | ||
1100 | + ... ${USERS.users['${tender_owner}'].broker} | ||
1101 | + ... add_contract_doc | ||
1102 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
1103 | + Додати документацію до договору | ||
1104 | + | ||
1105 | + | ||
1106 | +Відображення заголовку документації до договору | ||
1107 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації | ||
1108 | + ... viewer | ||
1109 | + ... ${USERS.users['${viewer}'].broker} | ||
1110 | + ... add_contract_doc | ||
1111 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
1112 | + Звірити відображення поля title документа ${USERS.users['${tender_owner}']['contract_doc']['id']} до договору з ${USERS.users['${tender_owner}']['contract_doc']['name']} для користувача ${viewer} | ||
1113 | + | ||
1114 | + | ||
1115 | +Відображення вмісту документації до договору | ||
1116 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації | ||
1117 | + ... viewer | ||
1118 | + ... ${USERS.users['${viewer}'].broker} | ||
1119 | + ... add_contract_doc | ||
1120 | + Звірити відображення вмісту документа ${USERS.users['${tender_owner}']['contract_doc']['id']} до договору з ${USERS.users['${tender_owner}']['contract_doc']['content']} для користувача ${viewer} | ||
1121 | + | ||
1122 | + | ||
1123 | +Відображення належності документа до договору | ||
1124 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації | ||
1125 | + ... viewer | ||
1126 | + ... ${USERS.users['${viewer}'].broker} | ||
1127 | + ... add_contract_doc | ||
1128 | + Звірити відображення поля documentOf документа ${USERS.users['${tender_owner}']['contract_doc']['id']} до договору з contract для користувача ${viewer} | ||
1129 | + | ||
1130 | + | ||
492 | Відображення статусу успішного завершення тендера | 1131 | Відображення статусу успішного завершення тендера |
493 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди | 1132 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди |
494 | ... viewer | 1133 | ... viewer |
@@ -565,3 +1204,13 @@ ${PROFILE} ${True} | @@ -565,3 +1204,13 @@ ${PROFILE} ${True} | ||
565 | Звірити відображення поля ${field} документа ${doc_id} до скасування ${cancel_id} із ${left} для користувача ${username} | 1204 | Звірити відображення поля ${field} документа ${doc_id} до скасування ${cancel_id} із ${left} для користувача ${username} |
566 | ${right}= Run As ${username} Отримати інформацію із документа до скасування ${TENDER['TENDER_UAID']} ${cancel_id} ${doc_id} ${field} | 1205 | ${right}= Run As ${username} Отримати інформацію із документа до скасування ${TENDER['TENDER_UAID']} ${cancel_id} ${doc_id} ${field} |
567 | Порівняти об'єкти ${left} ${right} | 1206 | Порівняти об'єкти ${left} ${right} |
1207 | + | ||
1208 | + | ||
1209 | +Отримати мінімальне значення amount з поданих пропозицій | ||
1210 | + ${bids}= Отримати дані із тендера ${provider} ${TENDER['TENDER_UAID']} bids | ||
1211 | + ${values}= Create List | ||
1212 | + :FOR ${value} IN @{bids} | ||
1213 | + \ ${item}= Get Variable Value ${value['value']['amount']} | ||
1214 | + \ Append To List ${values} ${item} | ||
1215 | + ${min_amount}= get_lowest_value_from_list ${values} | ||
1216 | + [Return] ${min_amount} |
@@ -772,3 +772,7 @@ def edit_tender_data_for_plan_tender(data, mode, data_version): | @@ -772,3 +772,7 @@ def edit_tender_data_for_plan_tender(data, mode, data_version): | ||
772 | if data_version is 4: | 772 | if data_version is 4: |
773 | dict_data['data']['procurementMethodType'] = plan_tedner_test_data[data_version] | 773 | dict_data['data']['procurementMethodType'] = plan_tedner_test_data[data_version] |
774 | return munchify(dict_data) | 774 | return munchify(dict_data) |
775 | + | ||
776 | + | ||
777 | +def get_lowest_value_from_list(list_value): | ||
778 | + return min(list_value) |
1 | +-v MODE:belowThreshold | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i make_bid_by_provider | ||
14 | +-i make_bid_by_provider1 | ||
15 | +-i make_bid_by_provider2 | ||
16 | + | ||
17 | +-i wait_active_qualification_start | ||
18 | + | ||
19 | +-i qualification_approve_first_award | ||
20 | +-i qualification_approve_second_award | ||
21 | + | ||
22 | +-i wait_active_awarded_start | ||
23 | + | ||
24 | +-i award_stand_still | ||
25 | + | ||
26 | +-i lot_cancellation | ||
27 | +-i lot_cancellation_view | ||
28 | + | ||
29 | +-i tender_cancellation | ||
30 | +-i tender_cancellation_view |
1 | +-v MODE:open_esco | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-v FUNDING_KIND:budget | ||
11 | + | ||
12 | +-i create_tender | ||
13 | +-i find_tender | ||
14 | + | ||
15 | +-i make_bid_by_provider | ||
16 | +-i make_bid_by_provider1 | ||
17 | +-i make_bid_by_provider2 | ||
18 | + | ||
19 | +-i tender_complaintPeriond_stand_still | ||
20 | + | ||
21 | +-i wait_active_pre-qualification_start | ||
22 | + | ||
23 | +-i pre-qualification_view | ||
24 | +-i pre-qualification_approve_first_bid | ||
25 | +-i pre-qualification_approve_second_bid | ||
26 | +-i pre-qualification_approve_third_bid | ||
27 | +-i pre-qualification_approve_fourth_bid | ||
28 | +-i pre-qualification_approve_fifth_bid | ||
29 | +-i pre-qualification_approve_sixth_bid | ||
30 | +-i pre-qualification_approve_qualifications | ||
31 | + | ||
32 | +-i wait_active_qualification_start | ||
33 | + | ||
34 | +-i qualification_approve_first_award | ||
35 | +-i qualification_approve_second_award | ||
36 | + | ||
37 | +-i wait_active_awarded_start | ||
38 | + | ||
39 | +-i award_stand_still | ||
40 | + | ||
41 | +-i lot_cancellation | ||
42 | +-i lot_cancellation_stand_still | ||
43 | +-i lot_cancellation_view | ||
44 | + | ||
45 | +-i tender_cancellation | ||
46 | +-i tender_cancellation_stand_still | ||
47 | +-i tender_cancellation_view |
1 | +-v MODE:open_framework | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:1 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i make_bid_by_provider | ||
14 | +-i make_bid_by_provider1 | ||
15 | +-i make_bid_by_provider2 | ||
16 | + | ||
17 | +-i tender_complaintPeriond_stand_still | ||
18 | + | ||
19 | +-i wait_active_pre-qualification_start | ||
20 | + | ||
21 | +-i pre-qualification_view | ||
22 | +-i pre-qualification_approve_first_bid | ||
23 | +-i pre-qualification_approve_second_bid | ||
24 | +-i pre-qualification_approve_third_bid | ||
25 | +-i pre-qualification_approve_qualifications | ||
26 | + | ||
27 | +-i wait_active_qualification_start | ||
28 | + | ||
29 | +-i qualification_approve_first_award | ||
30 | +-i qualification_approve_second_award | ||
31 | +-i qualification_approve_third_award | ||
32 | +-i qualification_approve_qualifications | ||
33 | + | ||
34 | +-i wait_active_awarded_start | ||
35 | + | ||
36 | +-i award_stand_still | ||
37 | + | ||
38 | +-i tender_cancellation | ||
39 | +-i tender_cancellation_stand_still | ||
40 | +-i tender_cancellation_view |
1 | +-v MODE:framework_selection | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:1 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender_stage2 | ||
11 | +-i find_tender_tender_owner | ||
12 | +-i find_tender | ||
13 | + | ||
14 | +-i selection_make_bid_by_provider | ||
15 | +-i selection_make_bid_by_provider1 | ||
16 | + | ||
17 | +-i wait_active_qualification_start | ||
18 | + | ||
19 | +-i qualification_approve_first_award | ||
20 | + | ||
21 | +-i wait_active_awarded_start | ||
22 | + | ||
23 | +-i tender_cancellation | ||
24 | +-i tender_cancellation_stand_still | ||
25 | +-i tender_cancellation_view |
1 | +-v MODE:openeu | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i make_bid_by_provider | ||
14 | +-i make_bid_by_provider1 | ||
15 | +-i make_bid_by_provider2 | ||
16 | + | ||
17 | +-i tender_complaintPeriond_stand_still | ||
18 | + | ||
19 | +-i wait_active_pre-qualification_start | ||
20 | + | ||
21 | +-i pre-qualification_view | ||
22 | +-i pre-qualification_approve_first_bid | ||
23 | +-i pre-qualification_approve_second_bid | ||
24 | +-i pre-qualification_approve_third_bid | ||
25 | +-i pre-qualification_approve_fourth_bid | ||
26 | +-i pre-qualification_approve_fifth_bid | ||
27 | +-i pre-qualification_approve_sixth_bid | ||
28 | +-i pre-qualification_approve_qualifications | ||
29 | + | ||
30 | +-i wait_active_qualification_start | ||
31 | + | ||
32 | +-i qualification_approve_first_award | ||
33 | +-i qualification_approve_second_award | ||
34 | + | ||
35 | +-i wait_active_awarded_start | ||
36 | + | ||
37 | +-i award_stand_still | ||
38 | + | ||
39 | +-i lot_cancellation | ||
40 | +-i lot_cancellation_stand_still | ||
41 | +-i lot_cancellation_view | ||
42 | + | ||
43 | +-i tender_cancellation | ||
44 | +-i tender_cancellation_stand_still | ||
45 | +-i tender_cancellation_view |
1 | +-v MODE:openua | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i make_bid_by_provider | ||
14 | +-i make_bid_by_provider1 | ||
15 | +-i make_bid_by_provider2 | ||
16 | + | ||
17 | +-i tender_complaintPeriond_stand_still | ||
18 | + | ||
19 | +-i wait_active_qualification_start | ||
20 | + | ||
21 | +-i qualification_approve_first_award | ||
22 | +-i qualification_approve_second_award | ||
23 | + | ||
24 | +-i wait_active_awarded_start | ||
25 | + | ||
26 | +-i award_stand_still | ||
27 | + | ||
28 | +-i lot_cancellation | ||
29 | +-i lot_cancellation_stand_still | ||
30 | +-i lot_cancellation_view | ||
31 | + | ||
32 | +-i tender_cancellation | ||
33 | +-i tender_cancellation_stand_still | ||
34 | +-i tender_cancellation_view |
1 | +-v MODE:openua_defense | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i make_bid_by_provider | ||
14 | +-i make_bid_by_provider1 | ||
15 | +-i make_bid_by_provider2 | ||
16 | + | ||
17 | +-i tender_complaintPeriond_stand_still | ||
18 | + | ||
19 | +-i wait_active_qualification_start | ||
20 | + | ||
21 | +-i lot_cancellation | ||
22 | +-i lot_cancellation_stand_still | ||
23 | +-i lot_cancellation_view | ||
24 | + | ||
25 | +-i tender_cancellation | ||
26 | +-i tender_cancellation_stand_still | ||
27 | +-i tender_cancellation_view |
1 | +-v MODE:belowThreshold | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i lot_cancellation | ||
14 | +-i lot_cancellation_view | ||
15 | + | ||
16 | +-i tender_cancellation | ||
17 | +-i tender_cancellation_view |
1 | +-v MODE:framework_selection | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:1 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender_stage2 | ||
11 | +-i find_tender_tender_owner | ||
12 | +-i find_tender | ||
13 | + | ||
14 | +-i tender_cancellation | ||
15 | +-i tender_cancellation_stand_still | ||
16 | +-i tender_cancellation_view |
1 | +-v MODE:open_competitive_dialogue | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | +-i tender_view | ||
13 | + | ||
14 | +-i make_bid_by_provider | ||
15 | +-i make_bid_by_provider1 | ||
16 | +-i make_bid_by_provider2 | ||
17 | + | ||
18 | +-i tender_complaintPeriond_stand_still | ||
19 | + | ||
20 | +-i wait_active_pre-qualification_start | ||
21 | + | ||
22 | +-i lot_cancellation | ||
23 | +-i lot_cancellation_stand_still | ||
24 | +-i lot_cancellation_view | ||
25 | + | ||
26 | +-i tender_cancellation | ||
27 | +-i tender_cancellation_stand_still | ||
28 | +-i tender_cancellation_view |
1 | +-v MODE:open_competitive_dialogue | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-v DIALOGUE_TYPE:UA | ||
11 | + | ||
12 | +-i create_tender | ||
13 | +-i find_tender | ||
14 | +-i tender_view | ||
15 | + | ||
16 | +-i make_bid_by_provider | ||
17 | +-i make_bid_by_provider1 | ||
18 | +-i make_bid_by_provider2 | ||
19 | + | ||
20 | +-i tender_complaintPeriond_stand_still | ||
21 | + | ||
22 | +-i wait_active_pre-qualification_start | ||
23 | + | ||
24 | +-i lot_cancellation | ||
25 | +-i lot_cancellation_stand_still | ||
26 | +-i lot_cancellation_view | ||
27 | + | ||
28 | +-i tender_cancellation | ||
29 | +-i tender_cancellation_stand_still | ||
30 | +-i tender_cancellation_view |
1 | +-v MODE:open_esco | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-v FUNDING_KIND:budget | ||
11 | + | ||
12 | +-i create_tender | ||
13 | +-i find_tender | ||
14 | + | ||
15 | +-i make_bid_by_provider | ||
16 | +-i make_bid_by_provider1 | ||
17 | +-i make_bid_by_provider2 | ||
18 | + | ||
19 | +-i tender_complaintPeriond_stand_still | ||
20 | + | ||
21 | +-i wait_active_pre-qualification_start | ||
22 | + | ||
23 | +-i lot_cancellation | ||
24 | +-i lot_cancellation_stand_still | ||
25 | +-i lot_cancellation_view | ||
26 | + | ||
27 | +-i tender_cancellation | ||
28 | +-i tender_cancellation_stand_still | ||
29 | +-i tender_cancellation_view |
1 | +-v MODE:open_framework | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:1 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i make_bid_by_provider | ||
14 | +-i make_bid_by_provider1 | ||
15 | +-i make_bid_by_provider2 | ||
16 | + | ||
17 | +-i tender_complaintPeriond_stand_still | ||
18 | + | ||
19 | +-i wait_active_pre-qualification_start | ||
20 | + | ||
21 | +-i tender_cancellation | ||
22 | +-i tender_cancellation_stand_still | ||
23 | +-i tender_cancellation_view |
1 | +-v MODE:openeu | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i make_bid_by_provider | ||
14 | +-i make_bid_by_provider1 | ||
15 | +-i make_bid_by_provider2 | ||
16 | + | ||
17 | +-i tender_complaintPeriond_stand_still | ||
18 | + | ||
19 | +-i wait_active_pre-qualification_start | ||
20 | + | ||
21 | +-i lot_cancellation | ||
22 | +-i lot_cancellation_stand_still | ||
23 | +-i lot_cancellation_view | ||
24 | + | ||
25 | +-i tender_cancellation | ||
26 | +-i tender_cancellation_stand_still | ||
27 | +-i tender_cancellation_view | ||
28 | + |
1 | +-v MODE:belowThreshold | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i make_bid_by_provider | ||
14 | +-i make_bid_by_provider1 | ||
15 | + | ||
16 | +-i wait_active_qualification_start | ||
17 | + | ||
18 | +-i lot_cancellation | ||
19 | +-i lot_cancellation_view | ||
20 | + | ||
21 | +-i tender_cancellation | ||
22 | +-i tender_cancellation_view |
1 | +-v MODE:open_competitive_dialogue | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | +-i tender_view | ||
13 | + | ||
14 | +-i make_bid_by_provider | ||
15 | +-i make_bid_by_provider1 | ||
16 | +-i make_bid_by_provider2 | ||
17 | + | ||
18 | +-i pre-qualification_approve_first_bid | ||
19 | +-i pre-qualification_approve_second_bid | ||
20 | +-i pre-qualification_approve_third_bid | ||
21 | +-i pre-qualification_approve_fourth_bid | ||
22 | +-i pre-qualification_approve_fifth_bid | ||
23 | +-i pre-qualification_approve_sixth_bid | ||
24 | +-i pre-qualification_approve_qualifications | ||
25 | + | ||
26 | +-i stage2_pending_status_view | ||
27 | +-i wait_bridge_for_work | ||
28 | +-i activate_second_stage | ||
29 | +-i get_second_stage | ||
30 | +-i compare_stages | ||
31 | + | ||
32 | +-i save_tender_second_stage | ||
33 | + | ||
34 | +-i make_bid_by_provider_second_stage | ||
35 | +-i make_bid_by_provider1_second_stage | ||
36 | + | ||
37 | +-i pre-qualification_approve_first_bid_second_stage | ||
38 | +-i pre-qualification_approve_second_bid_second_stage | ||
39 | +-i pre-qualification_approve_qualifications_second_stage | ||
40 | + | ||
41 | +-i wait_active_qualification_start | ||
42 | + | ||
43 | +-i lot_cancellation | ||
44 | +-i lot_cancellation_stand_still | ||
45 | +-i lot_cancellation_view | ||
46 | + | ||
47 | +-i tender_cancellation | ||
48 | +-i tender_cancellation_stand_still | ||
49 | +-i tender_cancellation_view |
1 | +-v MODE:open_competitive_dialogue | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-v DIALOGUE_TYPE:UA | ||
11 | + | ||
12 | +-i create_tender | ||
13 | +-i find_tender | ||
14 | +-i tender_view | ||
15 | + | ||
16 | +-i make_bid_by_provider | ||
17 | +-i make_bid_by_provider1 | ||
18 | +-i make_bid_by_provider2 | ||
19 | + | ||
20 | +-i pre-qualification_approve_first_bid | ||
21 | +-i pre-qualification_approve_second_bid | ||
22 | +-i pre-qualification_approve_third_bid | ||
23 | +-i pre-qualification_approve_fourth_bid | ||
24 | +-i pre-qualification_approve_fifth_bid | ||
25 | +-i pre-qualification_approve_sixth_bid | ||
26 | +-i pre-qualification_approve_qualifications | ||
27 | + | ||
28 | +-i stage2_pending_status_view | ||
29 | +-i wait_bridge_for_work | ||
30 | +-i activate_second_stage | ||
31 | +-i get_second_stage | ||
32 | +-i compare_stages | ||
33 | + | ||
34 | +-i save_tender_second_stage | ||
35 | + | ||
36 | + | ||
37 | +-i make_bid_by_provider_second_stage | ||
38 | +-i make_bid_by_provider1_second_stage | ||
39 | + | ||
40 | +-i wait_active_qualification_start | ||
41 | + | ||
42 | +-i lot_cancellation | ||
43 | +-i lot_cancellation_stand_still | ||
44 | +-i lot_cancellation_view | ||
45 | + | ||
46 | +-i tender_cancellation | ||
47 | +-i tender_cancellation_stand_still | ||
48 | +-i tender_cancellation_view |
1 | +-v MODE:open_esco | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-v FUNDING_KIND:budget | ||
11 | + | ||
12 | +-i create_tender | ||
13 | +-i find_tender | ||
14 | + | ||
15 | +-i make_bid_by_provider | ||
16 | +-i make_bid_by_provider1 | ||
17 | +-i make_bid_by_provider2 | ||
18 | + | ||
19 | +-i tender_complaintPeriond_stand_still | ||
20 | + | ||
21 | +-i wait_active_pre-qualification_start | ||
22 | + | ||
23 | +-i pre-qualification_view | ||
24 | +-i pre-qualification_approve_first_bid | ||
25 | +-i pre-qualification_approve_second_bid | ||
26 | +-i pre-qualification_approve_third_bid | ||
27 | +-i pre-qualification_approve_fourth_bid | ||
28 | +-i pre-qualification_approve_fifth_bid | ||
29 | +-i pre-qualification_approve_sixth_bid | ||
30 | +-i pre-qualification_approve_qualifications | ||
31 | + | ||
32 | +-i wait_active_qualification_start | ||
33 | + | ||
34 | +-i lot_cancellation | ||
35 | +-i lot_cancellation_stand_still | ||
36 | +-i lot_cancellation_view | ||
37 | + | ||
38 | +-i tender_cancellation | ||
39 | +-i tender_cancellation_stand_still | ||
40 | +-i tender_cancellation_view |
1 | +-v MODE:open_framework | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:1 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i make_bid_by_provider | ||
14 | +-i make_bid_by_provider1 | ||
15 | +-i make_bid_by_provider2 | ||
16 | + | ||
17 | +-i tender_complaintPeriond_stand_still | ||
18 | + | ||
19 | +-i wait_active_pre-qualification_start | ||
20 | + | ||
21 | +-i pre-qualification_view | ||
22 | +-i pre-qualification_approve_first_bid | ||
23 | +-i pre-qualification_approve_second_bid | ||
24 | +-i pre-qualification_approve_third_bid | ||
25 | +-i pre-qualification_approve_qualifications | ||
26 | + | ||
27 | +-i wait_active_qualification_start | ||
28 | + | ||
29 | +-i tender_cancellation | ||
30 | +-i tender_cancellation_stand_still | ||
31 | +-i tender_cancellation_view |
1 | +-v MODE:framework_selection | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:1 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender_stage2 | ||
11 | +-i find_tender_tender_owner | ||
12 | +-i find_tender | ||
13 | + | ||
14 | +-i selection_make_bid_by_provider | ||
15 | +-i selection_make_bid_by_provider1 | ||
16 | + | ||
17 | +-i wait_active_qualification_start | ||
18 | + | ||
19 | +-i tender_cancellation | ||
20 | +-i tender_cancellation_stand_still | ||
21 | +-i tender_cancellation_view |
1 | +-v MODE:openeu | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i make_bid_by_provider | ||
14 | +-i make_bid_by_provider1 | ||
15 | +-i make_bid_by_provider2 | ||
16 | + | ||
17 | +-i tender_complaintPeriond_stand_still | ||
18 | + | ||
19 | +-i wait_active_pre-qualification_start | ||
20 | + | ||
21 | +-i pre-qualification_view | ||
22 | +-i pre-qualification_approve_first_bid | ||
23 | +-i pre-qualification_approve_second_bid | ||
24 | +-i pre-qualification_approve_third_bid | ||
25 | +-i pre-qualification_approve_fourth_bid | ||
26 | +-i pre-qualification_approve_fifth_bid | ||
27 | +-i pre-qualification_approve_sixth_bid | ||
28 | +-i pre-qualification_approve_qualifications | ||
29 | + | ||
30 | +-i wait_active_qualification_start | ||
31 | + | ||
32 | +-i lot_cancellation | ||
33 | +-i lot_cancellation_stand_still | ||
34 | +-i lot_cancellation_view | ||
35 | + | ||
36 | +-i tender_cancellation | ||
37 | +-i tender_cancellation_stand_still | ||
38 | +-i tender_cancellation_view |
1 | +-v MODE:openua | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i make_bid_by_provider | ||
14 | +-i make_bid_by_provider1 | ||
15 | +-i make_bid_by_provider2 | ||
16 | + | ||
17 | +-i tender_complaintPeriond_stand_still | ||
18 | + | ||
19 | +-i wait_active_qualification_start | ||
20 | + | ||
21 | +-i lot_cancellation | ||
22 | +-i lot_cancellation_stand_still | ||
23 | +-i lot_cancellation_view | ||
24 | + | ||
25 | +-i tender_cancellation | ||
26 | +-i tender_cancellation_stand_still | ||
27 | +-i tender_cancellation_view |
1 | +-v MODE:openua_defense | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i make_bid_by_provider | ||
14 | +-i make_bid_by_provider1 | ||
15 | +-i make_bid_by_provider2 | ||
16 | + | ||
17 | +-i tender_complaintPeriond_stand_still | ||
18 | + | ||
19 | +-i wait_active_qualification_start | ||
20 | + | ||
21 | +-i lot_cancellation | ||
22 | +-i lot_cancellation_stand_still | ||
23 | +-i lot_cancellation_view | ||
24 | + | ||
25 | +-i tender_cancellation | ||
26 | +-i tender_cancellation_stand_still | ||
27 | +-i tender_cancellation_view |
1 | +-v MODE:open_competitive_dialogue | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | +-i tender_view | ||
13 | + | ||
14 | +-i make_bid_by_provider | ||
15 | +-i make_bid_by_provider1 | ||
16 | +-i make_bid_by_provider2 | ||
17 | + | ||
18 | +-i pre-qualification_approve_first_bid | ||
19 | +-i pre-qualification_approve_second_bid | ||
20 | +-i pre-qualification_approve_third_bid | ||
21 | +-i pre-qualification_approve_fourth_bid | ||
22 | +-i pre-qualification_approve_fifth_bid | ||
23 | +-i pre-qualification_approve_sixth_bid | ||
24 | +-i pre-qualification_approve_qualifications | ||
25 | + | ||
26 | +-i stage2_pending_status_view | ||
27 | +-i wait_bridge_for_work | ||
28 | +-i activate_second_stage | ||
29 | +-i get_second_stage | ||
30 | +-i compare_stages | ||
31 | + | ||
32 | +-i save_tender_second_stage | ||
33 | + | ||
34 | +-i lot_cancellation | ||
35 | +-i lot_cancellation_stand_still | ||
36 | +-i lot_cancellation_view | ||
37 | + | ||
38 | +-i tender_cancellation | ||
39 | +-i tender_cancellation_stand_still | ||
40 | +-i tender_cancellation_view |
1 | +-v MODE:open_competitive_dialogue | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:2 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-v DIALOGUE_TYPE:UA | ||
11 | + | ||
12 | +-i create_tender | ||
13 | +-i find_tender | ||
14 | +-i tender_view | ||
15 | + | ||
16 | +-i make_bid_by_provider | ||
17 | +-i make_bid_by_provider1 | ||
18 | +-i make_bid_by_provider2 | ||
19 | + | ||
20 | +-i pre-qualification_approve_first_bid | ||
21 | +-i pre-qualification_approve_second_bid | ||
22 | +-i pre-qualification_approve_third_bid | ||
23 | +-i pre-qualification_approve_fourth_bid | ||
24 | +-i pre-qualification_approve_fifth_bid | ||
25 | +-i pre-qualification_approve_sixth_bid | ||
26 | +-i pre-qualification_approve_qualifications | ||
27 | + | ||
28 | +-i stage2_pending_status_view | ||
29 | +-i wait_bridge_for_work | ||
30 | +-i activate_second_stage | ||
31 | +-i get_second_stage | ||
32 | +-i compare_stages | ||
33 | + | ||
34 | +-i save_tender_second_stage | ||
35 | + | ||
36 | +-i lot_cancellation | ||
37 | +-i lot_cancellation_stand_still | ||
38 | +-i lot_cancellation_view | ||
39 | + | ||
40 | +-i tender_cancellation | ||
41 | +-i tender_cancellation_stand_still | ||
42 | +-i tender_cancellation_view |
1 | +-v MODE:framework_selection | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:1 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender_stage2 | ||
11 | +-i find_tender_tender_owner | ||
12 | +-i find_tender | ||
13 | + | ||
14 | +-i selection_make_bid_by_provider | ||
15 | +-i selection_make_bid_by_provider1 | ||
16 | + | ||
17 | +-i tender_cancellation | ||
18 | +-i tender_cancellation_stand_still | ||
19 | +-i tender_cancellation_view |
1 | +-v MODE:open_framework | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:1 | ||
5 | + | ||
6 | +-v TENDER_MEAT:True | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender | ||
11 | +-i find_tender | ||
12 | + | ||
13 | +-i tender_view | ||
14 | + | ||
15 | +-i make_bid_by_provider | ||
16 | +-i make_bid_by_provider1 | ||
17 | +-i make_bid_by_provider2 | ||
18 | + | ||
19 | +-i openeu_add_financial_bid_doc_by_provider | ||
20 | +-i openeu_add_qualification_bid_doc_by_provider | ||
21 | +-i openeu_add_eligibility_bid_doc_by_provider | ||
22 | +-i add_winningBid_doc_by_provider | ||
23 | + | ||
24 | +-i pre-qualification_view | ||
25 | + | ||
26 | +-i pre-qualification_approve_first_bid | ||
27 | +-i pre-qualification_reject_second_bid | ||
28 | +-i pre-qualification_cancel_second_bid_qualification | ||
29 | +-i pre-qualification_approve_second_bid | ||
30 | +-i pre-qualification_approve_third_bid | ||
31 | +-i pre-qualification_approve_qualifications | ||
32 | + | ||
33 | +-i qualification_approve_first_award | ||
34 | +-i qualification_add_doc_to_second_award | ||
35 | +-i qualification_approve_second_award | ||
36 | +-i qualification_add_doc_to_third_award | ||
37 | +-i qualification_approve_third_award | ||
38 | +-i qualification_approve_qualifications | ||
39 | + | ||
40 | +-i contract_stand_still | ||
41 | +-i awarding_approve_first_award | ||
42 | +-i modify_agreement | ||
43 | +-i agreement_registration | ||
44 | + | ||
45 | +-i find_agreement | ||
46 | +-i add_agreement_doc | ||
47 | +-i submit_change | ||
48 | +-i change_view | ||
49 | +-i modification | ||
50 | +-i modification_view | ||
51 | +-i apply_change |
@@ -7,9 +7,6 @@ | @@ -7,9 +7,6 @@ | ||
7 | -v ITEM_MEAT:False | 7 | -v ITEM_MEAT:False |
8 | -v LOT_MEAT:False | 8 | -v LOT_MEAT:False |
9 | 9 | ||
10 | --v PROFILE:True | ||
11 | - | ||
12 | --i create_tender_wrong_date | ||
13 | -i create_tender | 10 | -i create_tender |
14 | -i find_tender | 11 | -i find_tender |
15 | -i extend_tendering_period | 12 | -i extend_tendering_period |
@@ -25,13 +22,32 @@ | @@ -25,13 +22,32 @@ | ||
25 | -i add_doc_to_bid_by_provider | 22 | -i add_doc_to_bid_by_provider |
26 | -i add_doc_to_bid_by_provider | 23 | -i add_doc_to_bid_by_provider |
27 | -i make_bid_by_provider1 | 24 | -i make_bid_by_provider1 |
25 | +-i make_bid_by_provider2 | ||
28 | 26 | ||
29 | -i awardPeriod_startDate | 27 | -i awardPeriod_startDate |
28 | +-i award_view_min_amount | ||
30 | -i disqualification_first_award_by_provider | 29 | -i disqualification_first_award_by_provider |
31 | -i qualification_approve_second_award_by_provider | 30 | -i qualification_approve_second_award_by_provider |
32 | 31 | ||
32 | +-i contract_view | ||
33 | +-i modify_contract_invalid_amountNet_tender_vat_true | ||
33 | -i modify_contract_amount_net | 34 | -i modify_contract_amount_net |
35 | +-i contract_view_new_amountNet | ||
34 | -i modify_contract_value | 36 | -i modify_contract_value |
37 | +-i contract_view_new_amount | ||
38 | +-i modify_contract_invalid_amount | ||
39 | +-i modify_contract | ||
35 | -i contract_sign | 40 | -i contract_sign |
41 | +-i find_tender_contract | ||
42 | +-i find_contract | ||
43 | +-i access_contract | ||
44 | +-i submit_change | ||
45 | +-i view_change | ||
46 | +-i upload_change_document | ||
47 | +-i modify_change | ||
48 | +-i change_contract_amountNet | ||
49 | +-i change_contract_amount | ||
50 | +-i apply_change | ||
51 | +-i add_contract_doc | ||
36 | -i agreement_registration | 52 | -i agreement_registration |
37 | 53 |
@@ -6,8 +6,8 @@ | @@ -6,8 +6,8 @@ | ||
6 | -v TENDER_MEAT:False | 6 | -v TENDER_MEAT:False |
7 | -v ITEM_MEAT:False | 7 | -v ITEM_MEAT:False |
8 | -v LOT_MEAT:False | 8 | -v LOT_MEAT:False |
9 | --v PROFILE:False | ||
10 | 9 | ||
11 | --i create_tender | 10 | +-i create_tender_invalid_profile |
12 | -i find_tender | 11 | -i find_tender |
13 | -i unsuccessfully_tender_verification_wrong_profile | 12 | -i unsuccessfully_tender_verification_wrong_profile |
13 | +-i impossible_make_bid_when_draft_unsuccessful |
1 | +-v MODE:priceQuotation | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:0 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender_shortlistedfirms_empty | ||
11 | +-i unsuccessfully_tender_verification_wrong_profile | ||
12 | +-i tender_unsuccessfully_reason_shortlistedfirms_empty |
1 | +-v MODE:priceQuotation | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:0 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender_wrong_date | ||
11 | +-i create_tender_empty_profile | ||
12 | +-i create_tender | ||
13 | +-i impossible_change_tendering_status | ||
14 | +-i successfully_tender_validation | ||
15 | +-i change_data_active_tendering |
1 | +-v MODE:priceQuotation | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:0 | ||
5 | + | ||
6 | +-v TENDER_MEAT:False | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-i create_tender_without_2_phase_commit | ||
11 | +-i tender_view_status_draft | ||
12 | +-i patch_tender_wrong_date | ||
13 | +-i patch_tender_wrong_procuringEntity_kind | ||
14 | +-i impossible_change_tender_status_form_draft_to_another_except_draft_publishing | ||
15 | +-i impossible_make_bid_when_draft |
@@ -7,18 +7,20 @@ | @@ -7,18 +7,20 @@ | ||
7 | -v ITEM_MEAT:False | 7 | -v ITEM_MEAT:False |
8 | -v LOT_MEAT:False | 8 | -v LOT_MEAT:False |
9 | 9 | ||
10 | --v PROFILE:True | ||
11 | - | ||
12 | -i create_tender | 10 | -i create_tender |
13 | 11 | ||
14 | --i succefully_tender_verification | 12 | +-i successfully_tender_validation |
13 | +-i impossible_make_bid | ||
15 | -i make_bid_by_provider | 14 | -i make_bid_by_provider |
16 | -i make_bid_by_provider1 | 15 | -i make_bid_by_provider1 |
16 | +-i delete_bid_while_tendering_period_by_provider | ||
17 | -i make_bid_by_provider2 | 17 | -i make_bid_by_provider2 |
18 | 18 | ||
19 | -i awardPeriod_startDate | 19 | -i awardPeriod_startDate |
20 | -i impossible_approve_first_award_by_customer | 20 | -i impossible_approve_first_award_by_customer |
21 | +-i impossible_cancel_1_award_qualification_by_provider | ||
21 | -i disqualification_first_award_by_provider | 22 | -i disqualification_first_award_by_provider |
23 | +-i cancel_bid_after_tendering_period_by_provider | ||
22 | -i qualification_reject_second_award_after_2_days | 24 | -i qualification_reject_second_award_after_2_days |
23 | 25 | ||
24 | -i qualification_approve_third_award_by_provider | 26 | -i qualification_approve_third_award_by_provider |
Please
register
or
login
to post a comment