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 | 2 | extensions = mr.developer |
3 | 3 | auto-checkout = * |
4 | 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 | 8 | develop = . |
6 | 9 | find-links = |
7 | 10 | http://op:x9W3jZ@dist.quintagroup.com/op/ | ... | ... |
... | ... | @@ -18,8 +18,6 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status |
18 | 18 | ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS} |
19 | 19 | ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS} |
20 | 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 | 21 | ${tender_parameters}= Create Dictionary |
24 | 22 | ... mode=${MODE} |
25 | 23 | ... number_of_items=${NUMBER_OF_ITEMS} |
... | ... | @@ -34,8 +32,6 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status |
34 | 32 | ... road_index=${${ROAD_INDEX}} |
35 | 33 | ... gmdn_index=${${GMDN_INDEX}} |
36 | 34 | ... plan_tender=${${PLAN_TENDER}} |
37 | - ... profile=${${PROFILE}} | |
38 | - ... wrong_tender_date=${${WRONG_TENDER_DATE}} | |
39 | 35 | ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE} |
40 | 36 | ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND} |
41 | 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 | 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 | 309 | ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} |
226 | 310 | ${accelerator}= Get Variable Value ${accelerator} | ... | ... |
... | ... | @@ -273,6 +273,29 @@ Library openprocurement_client.utils |
273 | 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 | 300 | [Arguments] ${username} ${monitoring_data} |
278 | 301 | ${monitoring}= Call Method ${USERS.users['${username}'].dasu_client} create_monitoring ${monitoring_data} |
... | ... | @@ -2304,6 +2327,7 @@ Library openprocurement_client.utils |
2304 | 2327 | ... ${tender} |
2305 | 2328 | ... access_token=${tender.access.token} |
2306 | 2329 | Log ${reply} |
2330 | + Log ${\n}${API_HOST_URL}/api/${API_VERSION}/tenders/${reply.data.id}${\n} WARN | |
2307 | 2331 | |
2308 | 2332 | ############################################################################## |
2309 | 2333 | # CONTRACT SIGNING | ... | ... |
1 | 1 | *** Settings *** |
2 | 2 | Resource base_keywords.robot |
3 | +Resource aboveThreshold_keywords.robot | |
3 | 4 | Suite Setup Test Suite Setup |
4 | 5 | Suite Teardown Test Suite Teardown |
5 | 6 | |
... | ... | @@ -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 | 48 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера |
27 | - ... viewer tender_owner | |
49 | + ... viewer tender_owner provider provider1 | |
28 | 50 | ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} |
51 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | |
29 | 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 | 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 | 80 | [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції |
48 | 81 | ... provider1 |
... | ... | @@ -54,6 +87,17 @@ ${PLAN_TENDER} ${True} |
54 | 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 | 102 | [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції |
59 | 103 | ... provider2 |
... | ... | @@ -76,6 +120,383 @@ ${PLAN_TENDER} ${True} |
76 | 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 | 500 | # LOT CANCELLATION |
80 | 501 | ############################################################################################## |
81 | 502 | ... | ... |
... | ... | @@ -376,6 +376,12 @@ def test_tender_data_planning(params): |
376 | 376 | breakdown_element = test_breakdown_data() |
377 | 377 | breakdown_element['value']['amount'] = value |
378 | 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 | 385 | return munchify(data) |
380 | 386 | |
381 | 387 | |
... | ... | @@ -692,25 +698,33 @@ def test_bid_data_selection(data, index): |
692 | 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 | 702 | bid = test_bid_data() |
697 | 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 | 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 | 724 | if over_limit: |
713 | 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 | 728 | return bid |
715 | 729 | |
716 | 730 | |
... | ... | @@ -1046,15 +1060,27 @@ def test_tender_data_esco(params, submissionMethodDetails, plan_data): |
1046 | 1060 | def test_tender_data_pq(params, submissionMethodDetails, plan_data): |
1047 | 1061 | data = test_tender_data(params, plan_data, ('tender',), submissionMethodDetails) |
1048 | 1062 | del data["minimalStep"] |
1063 | + del data["title_en"] | |
1049 | 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 | 1068 | data['profile'] = fake.invalid_profile() |
1054 | - if params['wrong_tender_date']: | |
1069 | + if params.get('wrong_tender_date'): | |
1055 | 1070 | start_date = data['tenderPeriod']['startDate'] |
1056 | 1071 | from op_robot_tests.tests_files.service_keywords import add_minutes_to_date |
1057 | 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 | 1084 | return munchify(data) |
1059 | 1085 | |
1060 | 1086 | ... | ... |
... | ... | @@ -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 | 336 | [Return] ${bid} |
337 | 337 | |
338 | 338 | |
... | ... | @@ -353,7 +353,14 @@ Get Broker Property By Username |
353 | 353 | Підготувати дані для подання пропозиції priceQuotation |
354 | 354 | [Arguments] ${username} |
355 | 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 | 364 | [Return] ${bid} |
358 | 365 | |
359 | 366 | |
... | ... | @@ -1219,6 +1226,19 @@ Require Failure |
1219 | 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 | 1243 | [Arguments] ${username} ${tender_uaid} |
1224 | 1244 | Дочекатись синхронізації з майданчиком ${username} | ... | ... |
... | ... | @@ -35,6 +35,10 @@ class OP_Provider(BaseProvider): |
35 | 35 | procuringTenderers = _fake_data.procuringTenderers |
36 | 36 | valid_profile_ids = _fake_data.valid_profile_ids |
37 | 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 | 43 | @classmethod |
40 | 44 | def randomize_nb_elements(self, number=10, le=60, ge=140): |
... | ... | @@ -234,3 +238,19 @@ class OP_Provider(BaseProvider): |
234 | 238 | @classmethod |
235 | 239 | def invalid_profile(self): |
236 | 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 | 8155 | "anotherEvent" |
8156 | 8156 | ], |
8157 | 8157 | "valid_profile_ids": [ |
8158 | - "400496-33600000-683398-42000777", | |
8159 | 8158 | "999999-33140000-555666-42000111" |
8160 | 8159 | ], |
8161 | 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 | 21 | ${ROAD_INDEX} ${False} |
22 | 22 | ${GMDN_INDEX} ${False} |
23 | 23 | ${PLAN_TENDER} ${True} |
24 | -${PROFILE} ${True} | |
25 | 24 | |
26 | 25 | *** Test Cases *** |
27 | 26 | Неможливість оголосити тендер з tenderPeriod:endDate < 2 робочих дні |
... | ... | @@ -32,7 +31,119 @@ ${PROFILE} ${True} |
32 | 31 | ... critical |
33 | 32 | [Teardown] Оновити LAST_MODIFICATION_DATE |
34 | 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 | 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 | 183 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера |
50 | 184 | ... viewer tender_owner provider provider1 |
... | ... | @@ -65,6 +199,26 @@ ${PROFILE} ${True} |
65 | 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 | 223 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера |
70 | 224 | ... viewer |
... | ... | @@ -159,6 +313,17 @@ ${PROFILE} ${True} |
159 | 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 | 328 | [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції |
164 | 329 | ... provider |
... | ... | @@ -170,6 +335,45 @@ ${PROFILE} ${True} |
170 | 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 | 378 | [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції |
175 | 379 | ... provider |
... | ... | @@ -233,6 +437,17 @@ ${PROFILE} ${True} |
233 | 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 | 452 | [Tags] ${USERS.users['${provider}'].broker}: Подання кваліфікації |
238 | 453 | ... provider |
... | ... | @@ -243,6 +458,20 @@ ${PROFILE} ${True} |
243 | 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 | 476 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації |
248 | 477 | ... tender_owner |
... | ... | @@ -268,6 +497,18 @@ ${PROFILE} ${True} |
268 | 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 | 513 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації |
273 | 514 | ... provider |
... | ... | @@ -279,6 +520,17 @@ ${PROFILE} ${True} |
279 | 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 | 534 | Можливість дискваліфікації другого постачальника, якщо 2 дні не було підтвердження |
283 | 535 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації |
284 | 536 | ... tender_owner |
... | ... | @@ -413,6 +665,61 @@ ${PROFILE} ${True} |
413 | 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 | 724 | [Tags] ${USERS.users['${viewer}'].broker}: Завершення тендера |
418 | 725 | ... viewer tender_owner provider provider1 |
... | ... | @@ -423,6 +730,58 @@ ${PROFILE} ${True} |
423 | 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 | 786 | [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди |
428 | 787 | ... tender_owner |
... | ... | @@ -443,6 +802,19 @@ ${PROFILE} ${True} |
443 | 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 | 819 | ${viewer_data}= Get From Dictionary ${USERS.users} ${viewer} |
448 | 820 | ${tender_owner_data}= Get From Dictionary ${USERS.users} ${tender_owner} |
... | ... | @@ -465,6 +837,78 @@ ${PROFILE} ${True} |
465 | 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 | 913 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди |
470 | 914 | ... tender_owner |
... | ... | @@ -489,6 +933,201 @@ ${PROFILE} ${True} |
489 | 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 | 1132 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди |
494 | 1133 | ... viewer |
... | ... | @@ -565,3 +1204,13 @@ ${PROFILE} ${True} |
565 | 1204 | Звірити відображення поля ${field} документа ${doc_id} до скасування ${cancel_id} із ${left} для користувача ${username} |
566 | 1205 | ${right}= Run As ${username} Отримати інформацію із документа до скасування ${TENDER['TENDER_UAID']} ${cancel_id} ${doc_id} ${field} |
567 | 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 | 772 | if data_version is 4: |
773 | 773 | dict_data['data']['procurementMethodType'] = plan_tedner_test_data[data_version] |
774 | 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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
... | ... | @@ -7,9 +7,6 @@ |
7 | 7 | -v ITEM_MEAT:False |
8 | 8 | -v LOT_MEAT:False |
9 | 9 | |
10 | --v PROFILE:True | |
11 | - | |
12 | --i create_tender_wrong_date | |
13 | 10 | -i create_tender |
14 | 11 | -i find_tender |
15 | 12 | -i extend_tendering_period |
... | ... | @@ -25,13 +22,32 @@ |
25 | 22 | -i add_doc_to_bid_by_provider |
26 | 23 | -i add_doc_to_bid_by_provider |
27 | 24 | -i make_bid_by_provider1 |
25 | +-i make_bid_by_provider2 | |
28 | 26 | |
29 | 27 | -i awardPeriod_startDate |
28 | +-i award_view_min_amount | |
30 | 29 | -i disqualification_first_award_by_provider |
31 | 30 | -i qualification_approve_second_award_by_provider |
32 | 31 | |
32 | +-i contract_view | |
33 | +-i modify_contract_invalid_amountNet_tender_vat_true | |
33 | 34 | -i modify_contract_amount_net |
35 | +-i contract_view_new_amountNet | |
34 | 36 | -i modify_contract_value |
37 | +-i contract_view_new_amount | |
38 | +-i modify_contract_invalid_amount | |
39 | +-i modify_contract | |
35 | 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 | 52 | -i agreement_registration |
37 | 53 | ... | ... |
... | ... | @@ -6,8 +6,8 @@ |
6 | 6 | -v TENDER_MEAT:False |
7 | 7 | -v ITEM_MEAT:False |
8 | 8 | -v LOT_MEAT:False |
9 | --v PROFILE:False | |
10 | 9 | |
11 | --i create_tender | |
10 | +-i create_tender_invalid_profile | |
12 | 11 | -i find_tender |
13 | 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 | |
\ No newline at end of file | ... | ... |
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_unknown_profile | |
11 | +-i unsuccessfully_tender_verification_wrong_profile | |
12 | +-i tender_unsuccessfully_reason_unknown_profile | ... | ... |
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 | |
\ No newline at end of file | ... | ... |
... | ... | @@ -7,18 +7,20 @@ |
7 | 7 | -v ITEM_MEAT:False |
8 | 8 | -v LOT_MEAT:False |
9 | 9 | |
10 | --v PROFILE:True | |
11 | - | |
12 | 10 | -i create_tender |
13 | 11 | |
14 | --i succefully_tender_verification | |
12 | +-i successfully_tender_validation | |
13 | +-i impossible_make_bid | |
15 | 14 | -i make_bid_by_provider |
16 | 15 | -i make_bid_by_provider1 |
16 | +-i delete_bid_while_tendering_period_by_provider | |
17 | 17 | -i make_bid_by_provider2 |
18 | 18 | |
19 | 19 | -i awardPeriod_startDate |
20 | 20 | -i impossible_approve_first_award_by_customer |
21 | +-i impossible_cancel_1_award_qualification_by_provider | |
21 | 22 | -i disqualification_first_award_by_provider |
23 | +-i cancel_bid_after_tendering_period_by_provider | |
22 | 24 | -i qualification_reject_second_award_after_2_days |
23 | 25 | |
24 | 26 | -i qualification_approve_third_award_by_provider | ... | ... |
Please
register
or
login
to post a comment