Commit 2d8fee520cb9954e656a6cd97bbe845ab9b52867
Committed by
GitHub
Merge pull request #55 from openprocurement/master
Agreement
Showing
10 changed files
with
804 additions
and
7 deletions
... | ... | @@ -48,9 +48,10 @@ Resource base_keywords.robot |
48 | 48 | Run As ${username} Змінити документацію в ставці ${TENDER['TENDER_UAID']} ${privat_doc} ${USERS.users['${username}']['bid_document']['doc_id']} |
49 | 49 | |
50 | 50 | |
51 | -Можливість завантажити ${doc_type} документ до пропозиції учасником ${username} | |
51 | +Можливість завантажити документ до пропозиції учасником | |
52 | + [Arguments] ${username} ${doc_name} ${doc_type}=${NONE} | |
52 | 53 | ${file_path} ${file_name} ${file_content}= create_fake_doc |
53 | - ${bid_doc_upload}= Run As ${username} Завантажити документ в ставку ${file_path} ${TENDER['TENDER_UAID']} ${doc_type} | |
54 | + ${bid_doc_upload}= Run As ${username} Завантажити документ в ставку ${file_path} ${TENDER['TENDER_UAID']} ${doc_name} ${doc_type} | |
54 | 55 | Set To Dictionary ${USERS.users['${username}'].bidresponses} bid_doc_upload=${bid_doc_upload} |
55 | 56 | Remove File ${file_path} |
56 | 57 | ... | ... |
op_robot_tests/tests_files/agreement.robot
0 → 100644
1 | +*** Settings *** | |
2 | +Resource base_keywords.robot | |
3 | +Suite Setup Test Suite Setup | |
4 | +Suite Teardown Test Suite Teardown | |
5 | + | |
6 | +*** Variables *** | |
7 | +@{USED_ROLES} tender_owner viewer | |
8 | + | |
9 | +*** Test Cases *** | |
10 | +Можливість знайти закупівлю по ідентифікатору | |
11 | + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера | |
12 | + ... viewer tender_owner | |
13 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
14 | + ... find_tender | |
15 | + ... critical | |
16 | + Завантажити дані про тендер | |
17 | + :FOR ${username} IN ${viewer} ${tender_owner} | |
18 | + \ Run As ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
19 | + | |
20 | + | |
21 | +Відображення ідентифікатора угоди | |
22 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера | |
23 | + ... viewer tender_owner | |
24 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
25 | + ... tender_view | |
26 | + ... critical | |
27 | + :FOR ${username} IN ${viewer} ${tender_owner} | |
28 | + \ Отримати дані із поля agreements[0].agreementID тендера для користувача ${username} | |
29 | + ${AGREEMENT_UAID}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data.data.agreements[0].agreementID} | |
30 | + Set Suite Variable ${AGREEMENT_UAID} | |
31 | + | |
32 | + | |
33 | +Можливість знайти угоду по ідентифікатору | |
34 | + [Tags] ${USERS.users['${viewer}'].broker}: Пошук угоди | |
35 | + ... viewer tender_owner | |
36 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
37 | + ... find_agreement | |
38 | + ... critical | |
39 | + :FOR ${username} IN ${viewer} ${tender_owner} | |
40 | + \ Run As ${username} Пошук угоди по ідентифікатору ${AGREEMENT_UAID} | |
41 | + | |
42 | + | |
43 | +Відображення ідентифікатора контракту в угоді | |
44 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди | |
45 | + ... viewer tender_owner | |
46 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
47 | + ... agreement_view | |
48 | + ... critical | |
49 | + :FOR ${username} IN ${viewer} ${tender_owner} | |
50 | + \ Отримати дані із угоди ${username} ${AGREEMENT_UAID} contracts[0].id | |
51 | + | |
52 | + | |
53 | +Відображення ідентифікатора предмету в угоді | |
54 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди | |
55 | + ... viewer tender_owner | |
56 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
57 | + ... agreement_view | |
58 | + ... critical | |
59 | + :FOR ${username} IN ${viewer} ${tender_owner} | |
60 | + \ Отримати дані із угоди ${username} ${AGREEMENT_UAID} items[0].id | |
61 | + | |
62 | + | |
63 | +Можливість отримати доступ до угоди | |
64 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Отримання прав доступу до угоди | |
65 | + ... tender_owner | |
66 | + ... ${USERS.users['${tender_owner}'].broker} | |
67 | + ... find_agreement | |
68 | + ... critical | |
69 | + Run As ${tender_owner} Отримати доступ до угоди ${AGREEMENT_UAID} | |
70 | + | |
71 | + | |
72 | +Можливість завантажити документацію в угоду | |
73 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Завантаження документації в угоду | |
74 | + ... tender_owner | |
75 | + ... ${USERS.users['${tender_owner}'].broker} | |
76 | + ... add_agreement_doc | |
77 | + ... non-critical | |
78 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
79 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
80 | + Можливість завантажити документ для рамкової угоди користувачем ${tender_owner} | |
81 | + | |
82 | + | |
83 | +Можливість внести зміну до угоди taxRate | |
84 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни | |
85 | + ... tender_owner | |
86 | + ... ${USERS.users['${tender_owner}'].broker} | |
87 | + ... submit_change | |
88 | + ... critical | |
89 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
90 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
91 | + ${change_data}= Підготувати дані про зміну до угоди ${tender_owner} taxRate | |
92 | + Run As ${tender_owner} Внести зміну в угоду ${AGREEMENT_UAID} ${change_data} | |
93 | + | |
94 | + | |
95 | +Відображення типу зміни taxRate | |
96 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
97 | + ... viewer | |
98 | + ... ${USERS.users['${viewer}'].broker} | |
99 | + ... change_view | |
100 | + ... non-critical | |
101 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | |
102 | + Звірити поле угоди із значенням | |
103 | + ... ${viewer} | |
104 | + ... ${AGREEMENT_UAID} | |
105 | + ... ${USERS.users['${tender_owner}'].change_data.data.rationaleType} | |
106 | + ... changes[0].rationaleType | |
107 | + | |
108 | + | |
109 | +Відображення обгрунтування зміни taxRate | |
110 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
111 | + ... viewer | |
112 | + ... ${USERS.users['${viewer}'].broker} | |
113 | + ... change_view | |
114 | + ... non-critical | |
115 | + Звірити поле угоди із значенням | |
116 | + ... ${viewer} | |
117 | + ... ${AGREEMENT_UAID} | |
118 | + ... ${USERS.users['${tender_owner}'].change_data.data.rationale} | |
119 | + ... changes[0].rationale | |
120 | + | |
121 | + | |
122 | +Можливість оновити властивості угоди для внесених змін taxRate | |
123 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни | |
124 | + ... tender_owner | |
125 | + ... ${USERS.users['${tender_owner}'].broker} | |
126 | + ... modification | |
127 | + ... critical | |
128 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
129 | + ${change_data}= Підготувати дані для оновлення властивості угоди ${tender_owner} addend ${0.9} | |
130 | + Run As ${tender_owner} Оновити властивості угоди ${AGREEMENT_UAID} ${change_data} | |
131 | + | |
132 | + | |
133 | +Відображення ідентифікатора предмету у властивостях taxRate | |
134 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
135 | + ... viewer | |
136 | + ... ${USERS.users['${viewer}'].broker} | |
137 | + ... modification_view | |
138 | + ... non-critical | |
139 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | |
140 | + Звірити поле угоди із значенням | |
141 | + ... ${viewer} | |
142 | + ... ${AGREEMENT_UAID} | |
143 | + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['itemId']} | |
144 | + ... changes[0].modifications[0].itemId | |
145 | + | |
146 | + | |
147 | +Відображення addend у властивостях taxRate | |
148 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
149 | + ... viewer | |
150 | + ... ${USERS.users['${viewer}'].broker} | |
151 | + ... modification_view | |
152 | + ... non-critical | |
153 | + Звірити поле угоди із значенням | |
154 | + ... ${viewer} | |
155 | + ... ${AGREEMENT_UAID} | |
156 | + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['addend']} | |
157 | + ... changes[0].modifications[0].addend | |
158 | + | |
159 | + | |
160 | +Можливість завантажити документацію в зміну | |
161 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Завантаження документації в угоду | |
162 | + ... tender_owner | |
163 | + ... ${USERS.users['${tender_owner}'].broker} | |
164 | + ... add_agreement_doc | |
165 | + ... non-critical | |
166 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
167 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
168 | + Можливість завантажити документ для зміни у рамковій угоді користувачем ${tender_owner} | |
169 | + | |
170 | + | |
171 | +Можливість застосувати зміну договору taxRate | |
172 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни | |
173 | + ... tender_owner | |
174 | + ... ${USERS.users['${tender_owner}'].broker} | |
175 | + ... apply_change | |
176 | + ... critical | |
177 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
178 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
179 | + ${dateSigned}= create_fake_date | |
180 | + Run As ${tender_owner} Застосувати зміну для угоди ${AGREEMENT_UAID} ${dateSigned} active | |
181 | + | |
182 | + | |
183 | +Відображення статусу active зміни taxRate | |
184 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
185 | + ... viewer | |
186 | + ... ${USERS.users['${viewer}'].broker} | |
187 | + ... change_view | |
188 | + ... critical | |
189 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | |
190 | + Звірити поле угоди із значенням | |
191 | + ... ${viewer} | |
192 | + ... ${AGREEMENT_UAID} | |
193 | + ... active | |
194 | + ... changes[0].status | |
195 | + | |
196 | + | |
197 | +Можливість внести зміну до угоди itemPriceVariation | |
198 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни | |
199 | + ... tender_owner | |
200 | + ... ${USERS.users['${tender_owner}'].broker} | |
201 | + ... submit_change | |
202 | + ... critical | |
203 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
204 | + ${change_data}= Підготувати дані про зміну до угоди ${tender_owner} itemPriceVariation | |
205 | + Run As ${tender_owner} Внести зміну в угоду ${AGREEMENT_UAID} ${change_data} | |
206 | + | |
207 | + | |
208 | +Відображення типу зміни itemPriceVariation | |
209 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
210 | + ... viewer | |
211 | + ... ${USERS.users['${viewer}'].broker} | |
212 | + ... change_view | |
213 | + ... non-critical | |
214 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | |
215 | + Звірити поле угоди із значенням | |
216 | + ... ${viewer} | |
217 | + ... ${AGREEMENT_UAID} | |
218 | + ... ${USERS.users['${tender_owner}'].change_data.data.rationaleType} | |
219 | + ... changes[1].rationaleType | |
220 | + | |
221 | + | |
222 | +Відображення обгрунтування зміни itemPriceVariation | |
223 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
224 | + ... viewer | |
225 | + ... ${USERS.users['${viewer}'].broker} | |
226 | + ... change_view | |
227 | + ... non-critical | |
228 | + Звірити поле угоди із значенням | |
229 | + ... ${viewer} | |
230 | + ... ${AGREEMENT_UAID} | |
231 | + ... ${USERS.users['${tender_owner}'].change_data.data.rationale} | |
232 | + ... changes[1].rationale | |
233 | + | |
234 | + | |
235 | +Можливість оновити властивості угоди для внесених змін itemPriceVariation | |
236 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни | |
237 | + ... tender_owner | |
238 | + ... ${USERS.users['${tender_owner}'].broker} | |
239 | + ... modification | |
240 | + ... critical | |
241 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
242 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
243 | + ${change_data}= Підготувати дані для оновлення властивості угоди ${tender_owner} factor ${1.1} | |
244 | + Run As ${tender_owner} Оновити властивості угоди ${AGREEMENT_UAID} ${change_data} | |
245 | + | |
246 | + | |
247 | +Відображення ідентифікатора предмету у властивостях itemPriceVariation | |
248 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
249 | + ... viewer | |
250 | + ... ${USERS.users['${viewer}'].broker} | |
251 | + ... modification_view | |
252 | + ... non-critical | |
253 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | |
254 | + Звірити поле угоди із значенням | |
255 | + ... ${viewer} | |
256 | + ... ${AGREEMENT_UAID} | |
257 | + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['itemId']} | |
258 | + ... changes[1].modifications[0].itemId | |
259 | + | |
260 | + | |
261 | +Відображення factor у властивостях itemPriceVariation | |
262 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
263 | + ... viewer | |
264 | + ... ${USERS.users['${viewer}'].broker} | |
265 | + ... modification_view | |
266 | + ... non-critical | |
267 | + Звірити поле угоди із значенням | |
268 | + ... ${viewer} | |
269 | + ... ${AGREEMENT_UAID} | |
270 | + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['factor']} | |
271 | + ... changes[1].modifications[0].factor | |
272 | + | |
273 | + | |
274 | +Можливість скасувати зміну договору itemPriceVariation | |
275 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни | |
276 | + ... tender_owner | |
277 | + ... ${USERS.users['${tender_owner}'].broker} | |
278 | + ... apply_change | |
279 | + ... critical | |
280 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
281 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
282 | + ${dateSigned}= create_fake_date | |
283 | + Run As ${tender_owner} Застосувати зміну для угоди ${AGREEMENT_UAID} ${dateSigned} cancelled | |
284 | + | |
285 | + | |
286 | +Відображення статусу cancelled зміни itemPriceVariation | |
287 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
288 | + ... viewer | |
289 | + ... ${USERS.users['${viewer}'].broker} | |
290 | + ... change_view | |
291 | + ... critical | |
292 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | |
293 | + Звірити поле угоди із значенням | |
294 | + ... ${viewer} | |
295 | + ... ${AGREEMENT_UAID} | |
296 | + ... cancelled | |
297 | + ... changes[1].status | |
298 | + | |
299 | + | |
300 | +Можливість внести зміну до угоди thirdParty | |
301 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни | |
302 | + ... tender_owner | |
303 | + ... ${USERS.users['${tender_owner}'].broker} | |
304 | + ... submit_change | |
305 | + ... critical | |
306 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
307 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
308 | + ${change_data}= Підготувати дані про зміну до угоди ${tender_owner} thirdParty | |
309 | + Run As ${tender_owner} Внести зміну в угоду ${AGREEMENT_UAID} ${change_data} | |
310 | + | |
311 | + | |
312 | +Відображення типу зміни thirdParty | |
313 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
314 | + ... viewer | |
315 | + ... ${USERS.users['${viewer}'].broker} | |
316 | + ... change_view | |
317 | + ... non-critical | |
318 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | |
319 | + Звірити поле угоди із значенням | |
320 | + ... ${viewer} | |
321 | + ... ${AGREEMENT_UAID} | |
322 | + ... ${USERS.users['${tender_owner}'].change_data.data.rationaleType} | |
323 | + ... changes[2].rationaleType | |
324 | + | |
325 | + | |
326 | +Відображення обгрунтування зміни thirdParty | |
327 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
328 | + ... viewer | |
329 | + ... ${USERS.users['${viewer}'].broker} | |
330 | + ... change_view | |
331 | + ... non-critical | |
332 | + Звірити поле угоди із значенням | |
333 | + ... ${viewer} | |
334 | + ... ${AGREEMENT_UAID} | |
335 | + ... ${USERS.users['${tender_owner}'].change_data.data.rationale} | |
336 | + ... changes[2].rationale | |
337 | + | |
338 | + | |
339 | +Можливість оновити властивості угоди для внесених змін thirdParty | |
340 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни | |
341 | + ... tender_owner | |
342 | + ... ${USERS.users['${tender_owner}'].broker} | |
343 | + ... modification | |
344 | + ... critical | |
345 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
346 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
347 | + Log ${USERS.users['${tender_owner}'].agreement_data} | |
348 | + ${change_data}= Підготувати дані для оновлення властивості угоди ${tender_owner} factor ${0.97} | |
349 | + Run As ${tender_owner} Оновити властивості угоди ${AGREEMENT_UAID} ${change_data} | |
350 | + | |
351 | + | |
352 | +Відображення ідентифікатора предмету у властивостях thirdParty | |
353 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
354 | + ... viewer | |
355 | + ... ${USERS.users['${viewer}'].broker} | |
356 | + ... modification_view | |
357 | + ... non-critical | |
358 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | |
359 | + Звірити поле угоди із значенням | |
360 | + ... ${viewer} | |
361 | + ... ${AGREEMENT_UAID} | |
362 | + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['itemId']} | |
363 | + ... changes[2].modifications[0].itemId | |
364 | + | |
365 | + | |
366 | +Відображення factor у властивостях thirdParty | |
367 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
368 | + ... viewer | |
369 | + ... ${USERS.users['${viewer}'].broker} | |
370 | + ... modification_view | |
371 | + ... non-critical | |
372 | + Звірити поле угоди із значенням | |
373 | + ... ${viewer} | |
374 | + ... ${AGREEMENT_UAID} | |
375 | + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['factor']} | |
376 | + ... changes[2].modifications[0].factor | |
377 | + | |
378 | + | |
379 | +Можливість застосувати зміну договору thirdParty | |
380 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни | |
381 | + ... tender_owner | |
382 | + ... ${USERS.users['${tender_owner}'].broker} | |
383 | + ... apply_change | |
384 | + ... critical | |
385 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
386 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
387 | + ${dateSigned}= create_fake_date | |
388 | + Run As ${tender_owner} Застосувати зміну для угоди ${AGREEMENT_UAID} ${dateSigned} active | |
389 | + | |
390 | + | |
391 | +Відображення статусу active зміни thirdParty | |
392 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
393 | + ... viewer | |
394 | + ... ${USERS.users['${viewer}'].broker} | |
395 | + ... change_view | |
396 | + ... critical | |
397 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | |
398 | + Звірити поле угоди із значенням | |
399 | + ... ${viewer} | |
400 | + ... ${AGREEMENT_UAID} | |
401 | + ... active | |
402 | + ... changes[2].status | |
403 | + | |
404 | + | |
405 | +Можливість внести зміну до угоди partyWithdrawal | |
406 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни | |
407 | + ... tender_owner | |
408 | + ... ${USERS.users['${tender_owner}'].broker} | |
409 | + ... submit_change | |
410 | + ... critical | |
411 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
412 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
413 | + ${change_data}= Підготувати дані про зміну до угоди ${tender_owner} partyWithdrawal | |
414 | + Run As ${tender_owner} Внести зміну в угоду ${AGREEMENT_UAID} ${change_data} | |
415 | + | |
416 | + | |
417 | +Відображення типу зміни partyWithdrawal | |
418 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
419 | + ... viewer | |
420 | + ... ${USERS.users['${viewer}'].broker} | |
421 | + ... change_view | |
422 | + ... non-critical | |
423 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | |
424 | + Звірити поле угоди із значенням | |
425 | + ... ${viewer} | |
426 | + ... ${AGREEMENT_UAID} | |
427 | + ... ${USERS.users['${tender_owner}'].change_data.data.rationaleType} | |
428 | + ... changes[3].rationaleType | |
429 | + | |
430 | + | |
431 | +Відображення обгрунтування зміни partyWithdrawal | |
432 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
433 | + ... viewer | |
434 | + ... ${USERS.users['${viewer}'].broker} | |
435 | + ... change_view | |
436 | + ... non-critical | |
437 | + Звірити поле угоди із значенням | |
438 | + ... ${viewer} | |
439 | + ... ${AGREEMENT_UAID} | |
440 | + ... ${USERS.users['${tender_owner}'].change_data.data.rationale} | |
441 | + ... changes[3].rationale | |
442 | + | |
443 | + | |
444 | +Можливість оновити властивості угоди для внесених змін partyWithdrawal | |
445 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни | |
446 | + ... tender_owner | |
447 | + ... ${USERS.users['${tender_owner}'].broker} | |
448 | + ... modification | |
449 | + ... critical | |
450 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
451 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
452 | + ${change_data}= Підготувати дані для оновлення властивості угоди | |
453 | + ... ${tender_owner} | |
454 | + ... contractId | |
455 | + ... ${USERS.users['${tender_owner}'].agreement_data.data['contracts'][0]['id']} | |
456 | + Run As ${tender_owner} Оновити властивості угоди ${AGREEMENT_UAID} ${change_data} | |
457 | + | |
458 | + | |
459 | +Відображення ідентифікатора предмету у властивостях partyWithdrawal | |
460 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
461 | + ... viewer | |
462 | + ... ${USERS.users['${viewer}'].broker} | |
463 | + ... modification_view | |
464 | + ... non-critical | |
465 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | |
466 | + Звірити поле угоди із значенням | |
467 | + ... ${viewer} | |
468 | + ... ${AGREEMENT_UAID} | |
469 | + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['itemId']} | |
470 | + ... changes[3].modifications[0].itemId | |
471 | + | |
472 | + | |
473 | +Відображення contractId у властивостях partyWithdrawal | |
474 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
475 | + ... viewer | |
476 | + ... ${USERS.users['${viewer}'].broker} | |
477 | + ... modification_view | |
478 | + ... non-critical | |
479 | + Звірити поле угоди із значенням | |
480 | + ... ${viewer} | |
481 | + ... ${AGREEMENT_UAID} | |
482 | + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['contractId']} | |
483 | + ... changes[3].modifications[0].contractId | |
484 | + | |
485 | + | |
486 | +Можливість скасувати зміну договору partyWithdrawal | |
487 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни | |
488 | + ... tender_owner | |
489 | + ... ${USERS.users['${tender_owner}'].broker} | |
490 | + ... apply_change | |
491 | + ... critical | |
492 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
493 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
494 | + ${dateSigned}= create_fake_date | |
495 | + Run As ${tender_owner} Застосувати зміну для угоди ${AGREEMENT_UAID} ${dateSigned} cancelled | |
496 | + | |
497 | + | |
498 | +Відображення статусу cancelled зміни partyWithdrawal | |
499 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни | |
500 | + ... viewer | |
501 | + ... ${USERS.users['${viewer}'].broker} | |
502 | + ... change_view | |
503 | + ... critical | |
504 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | |
505 | + Звірити поле угоди із значенням | |
506 | + ... ${viewer} | |
507 | + ... ${AGREEMENT_UAID} | |
508 | + ... cancelled | |
509 | + ... changes[3].status | |
510 | + | |
511 | + | |
512 | +Можливість завершити угоду | |
513 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Завершення угоди | |
514 | + ... tender_owner | |
515 | + ... ${USERS.users['${tender_owner}'].broker} | |
516 | + ... agreement_termination | |
517 | + ... critical | |
518 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
519 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
520 | + Run As ${tender_owner} Завершити угоду ${AGREEMENT_UAID} | |
521 | + | |
522 | + | |
523 | +Звірити статус завершеної угоди | |
524 | + [Tags] ${USERS.users['${viewer}'].broker}: Завершення угоди | |
525 | + ... viewer | |
526 | + ... ${USERS.users['${viewer}'].broker} | |
527 | + ... agreement_termination | |
528 | + ... critical | |
529 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | |
530 | + Remove From Dictionary ${USERS.users['${viewer}'].agreement_data.data} status | |
531 | + Звірити поле угоди із значенням | |
532 | + ... ${viewer} | |
533 | + ... ${AGREEMENT_UAID} | |
534 | + ... terminated | |
535 | + ... status | ... | ... |
... | ... | @@ -1365,6 +1365,33 @@ Resource resource.robot |
1365 | 1365 | Remove File ${file_path} |
1366 | 1366 | |
1367 | 1367 | |
1368 | +Можливість завантажити документ для рамкової угоди користувачем ${username} | |
1369 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
1370 | + ${doc_id}= get_id_from_string ${file_name} | |
1371 | + ${doc}= Create Dictionary | |
1372 | + ... id=${doc_id} | |
1373 | + ... name=${file_name} | |
1374 | + ... content=${file_content} | |
1375 | + Set to dictionary ${USERS.users['${username}']} contract_doc=${doc} | |
1376 | + Run As ${username} Завантажити документ в рамкову угоду ${file_path} ${USERS.users['${username}'].tender_data.data.agreements[0].agreementID} | |
1377 | + Remove File ${file_path} | |
1378 | + | |
1379 | + | |
1380 | +Можливість завантажити документ для зміни у рамковій угоді користувачем ${username} | |
1381 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
1382 | + ${doc_id}= get_id_from_string ${file_name} | |
1383 | + ${doc}= Create Dictionary | |
1384 | + ... id=${doc_id} | |
1385 | + ... name=${file_name} | |
1386 | + ... content=${file_content} | |
1387 | + Set to dictionary ${USERS.users['${username}']} contract_doc=${doc} | |
1388 | + Run As ${username} Завантажити документ для зміни у рамковій угоді | |
1389 | + ... ${file_path} | |
1390 | + ... ${USERS.users['${username}'].tender_data.data.agreements[0].agreementID} | |
1391 | + ... ${USERS.users['${username}'].agreement_data.data['items'][0]['id']} | |
1392 | + Remove File ${file_path} | |
1393 | + | |
1394 | + | |
1368 | 1395 | Можливість укласти угоду для закупівлі |
1369 | 1396 | Run as ${tender_owner} |
1370 | 1397 | ... Підтвердити підписання контракту | ... | ... |
... | ... | @@ -43,6 +43,19 @@ Library openprocurement_client.utils |
43 | 43 | [return] ${monitoring_id} |
44 | 44 | |
45 | 45 | |
46 | +Отримати internal id угоди по UAid | |
47 | + [Arguments] ${username} ${agreement_uaid} | |
48 | + Log ${username} | |
49 | + Log ${agreement_uaid} | |
50 | + Log Many ${USERS.users['${username}'].id_map} | |
51 | + ${status}= Run Keyword And Return Status Dictionary Should Contain Key ${USERS.users['${username}'].id_map} ${agreement_uaid} | |
52 | + Run Keyword And Return If ${status} Get From Dictionary ${USERS.users['${username}'].id_map} ${agreement_uaid} | |
53 | + Call Method ${USERS.users['${username}'].agreement_client} get_agreements | |
54 | + ${agreement_id}= Wait Until Keyword Succeeds 5x 30 sec get_agreement_id_by_uaid ${agreement_uaid} ${USERS.users['${username}'].agreement_client} | |
55 | + Set To Dictionary ${USERS.users['${username}'].id_map} ${agreement_uaid} ${agreement_id} | |
56 | + [return] ${agreement_id} | |
57 | + | |
58 | + | |
46 | 59 | Підготувати клієнт для користувача |
47 | 60 | [Arguments] ${username} |
48 | 61 | [Documentation] Відкрити браузер, створити об’єкти api wrapper і |
... | ... | @@ -62,7 +75,9 @@ Library openprocurement_client.utils |
62 | 75 | ... prepare_plan_api_wrapper ${USERS.users['${username}'].api_key} PLANS ${API_HOST_URL} ${API_VERSION} |
63 | 76 | ... ELSE prepare_api_wrapper ${USERS.users['${username}'].api_key} ${RESOURCE} ${API_HOST_URL} ${API_VERSION} ${ds_api_wraper} |
64 | 77 | ${dasu_api_wraper}= prepare_dasu_api_wrapper ${USERS.users['${username}'].dasu_api_key} ${DASU_RESOURCE} ${DASU_API_HOST_URL} ${DASU_API_VERSION} ${ds_api_wraper} |
78 | + ${agreement_wrapper}= prepare_agreement_api_wrapper ${USERS.users['${username}'].api_key} AGREEMENTS ${API_HOST_URL} ${API_VERSION} ${ds_api_wraper} | |
65 | 79 | Set To Dictionary ${USERS.users['${username}']} client=${api_wrapper} |
80 | + Set To Dictionary ${USERS.users['${username}']} agreement_client=${agreement_wrapper} | |
66 | 81 | Set To Dictionary ${USERS.users['${username}']} dasu_client=${dasu_api_wraper} |
67 | 82 | Set To Dictionary ${USERS.users['${username}']} access_token=${EMPTY} |
68 | 83 | ${id_map}= Create Dictionary |
... | ... | @@ -75,6 +90,8 @@ Library openprocurement_client.utils |
75 | 90 | ${contract_api_wrapper}= prepare_contract_api_wrapper ${USERS.users['${username}'].api_key} CONTRACTS ${api_host_url} ${api_version} ${ds_api_wraper} |
76 | 91 | Set To Dictionary ${USERS.users['${username}']} contracting_client=${contract_api_wrapper} |
77 | 92 | Set To Dictionary ${USERS.users['${username}']} contract_access_token=${EMPTY} |
93 | + Set To Dictionary ${USERS.users['${username}']} agreement_access_token=${EMPTY} | |
94 | + ${contracts_id_map}= Create Dictionary | |
78 | 95 | ${contracts_id_map}= Create Dictionary |
79 | 96 | Set To Dictionary ${USERS.users['${username}']} contracts_id_map=${contracts_id_map} |
80 | 97 | Log Variables |
... | ... | @@ -258,6 +275,16 @@ Library openprocurement_client.utils |
258 | 275 | [return] ${monitoring} |
259 | 276 | |
260 | 277 | |
278 | +Пошук угоди по ідентифікатору | |
279 | + [Arguments] ${username} ${agreement_uaid} ${save_key}=agreement_data | |
280 | + ${internalid}= openprocurement_client.Отримати internal id угоди по UAid ${username} ${agreement_uaid} | |
281 | + ${agreement}= Call Method ${USERS.users['${username}'].agreement_client} get_agreement ${internalid} | |
282 | + Set To Dictionary ${USERS.users['${username}']} ${save_key}=${agreement} | |
283 | + ${agreement}= munch_dict arg=${agreement} | |
284 | + Log ${agreement} | |
285 | + [return] ${agreement} | |
286 | + | |
287 | + | |
261 | 288 | Отримати доступ до об'єкта моніторингу |
262 | 289 | [Arguments] ${username} ${monitoring_uaid} ${save_key}=monitoring |
263 | 290 | ${token}= Set Variable ${USERS.users['${username}'].access_token} |
... | ... | @@ -1295,7 +1322,7 @@ Library openprocurement_client.utils |
1295 | 1322 | |
1296 | 1323 | |
1297 | 1324 | Завантажити документ в ставку |
1298 | - [Arguments] ${username} ${path} ${tender_uaid} ${doc_type}=documents | |
1325 | + [Arguments] ${username} ${path} ${tender_uaid} ${doc_name}=documents ${doc_type}=${None} | |
1299 | 1326 | ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid'].data.id} |
1300 | 1327 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} |
1301 | 1328 | ${tender}= set_access_key ${tender} ${USERS.users['${username}']['access_token']} |
... | ... | @@ -1303,7 +1330,9 @@ Library openprocurement_client.utils |
1303 | 1330 | ... ${path} |
1304 | 1331 | ... ${tender.data.id} |
1305 | 1332 | ... ${bid_id} |
1333 | + ... doc_type=${doc_type} | |
1306 | 1334 | ... access_token=${tender.access.token} |
1335 | + ... subitem_name=${doc_name} | |
1307 | 1336 | ${uploaded_file} = Create Dictionary |
1308 | 1337 | ... filepath=${path} |
1309 | 1338 | ... upload_response=${response} |
... | ... | @@ -2039,3 +2068,102 @@ Library openprocurement_client.utils |
2039 | 2068 | ${document}= get_document_by_id ${tender.data} ${doc_id} |
2040 | 2069 | ${filename}= download_file_from_url ${document.url} ${OUTPUT_DIR}${/}${document.title} |
2041 | 2070 | [return] ${filename} |
2071 | + | |
2072 | + | |
2073 | +Отримати доступ до угоди | |
2074 | + [Arguments] ${username} ${agreement_uaid} | |
2075 | + ${token}= Set Variable ${USERS.users['${username}'].access_token} | |
2076 | + ${internalid}= openprocurement_client.Отримати internal id угоди по UAid ${username} ${agreement_uaid} | |
2077 | + ${agreement}= Call Method ${USERS.users['${username}'].agreement_client} patch_credentials ${internalid} ${token} | |
2078 | + Set To Dictionary ${USERS.users['${username}']} agreement_access_token=${agreement.access.token} | |
2079 | + ${agreement}= munch_dict arg=${agreement} | |
2080 | + [return] ${agreement} | |
2081 | + | |
2082 | + | |
2083 | +Внести зміну в угоду | |
2084 | + [Arguments] ${username} ${agreement_uaid} ${change_data} | |
2085 | + ${internalid}= openprocurement_client.Отримати internal id угоди по UAid ${username} ${agreement_uaid} | |
2086 | + ${reply}= Call Method ${USERS.users['${username}'].agreement_client} create_change | |
2087 | + ... ${internalid} | |
2088 | + ... ${change_data} | |
2089 | + ... access_token=${USERS.users['${username}'].agreement_access_token} | |
2090 | + Log ${reply} | |
2091 | + | |
2092 | + | |
2093 | +Застосувати зміну для угоди | |
2094 | + [Arguments] ${username} ${agreement_uaid} ${dateSigned} ${status} | |
2095 | + ${agreement}= openprocurement_client.Пошук угоди по ідентифікатору ${username} ${agreement_uaid} | |
2096 | + ${data}= Create Dictionary status=${status} dateSigned=${dateSigned} | |
2097 | + ${data}= Create Dictionary data=${data} | |
2098 | + ${reply}= Call Method ${USERS.users['${username}'].agreement_client} patch_change | |
2099 | + ... ${agreement.data.id} | |
2100 | + ... ${data} | |
2101 | + ... ${agreement.data.changes[-1].id} | |
2102 | + ... access_token=${USERS.users['${username}'].agreement_access_token} | |
2103 | + Log ${reply} | |
2104 | + | |
2105 | + | |
2106 | +Оновити властивості угоди | |
2107 | + [Arguments] ${username} ${agreement_uaid} ${data} | |
2108 | + ${agreement}= openprocurement_client.Пошук угоди по ідентифікатору ${username} ${agreement_uaid} | |
2109 | + ${reply}= Call Method ${USERS.users['${username}'].agreement_client} patch_change | |
2110 | + ... ${agreement.data.id} | |
2111 | + ... ${data} | |
2112 | + ... ${agreement.data.changes[-1].id} | |
2113 | + ... access_token=${USERS.users['${username}'].agreement_access_token} | |
2114 | + Log ${reply} | |
2115 | + | |
2116 | + | |
2117 | +Завантажити документ в рамкову угоду | |
2118 | + [Arguments] ${username} ${filepath} ${agreement_uaid} | |
2119 | + Log ${username} | |
2120 | + Log ${agreement_uaid} | |
2121 | + Log ${filepath} | |
2122 | + ${agreement}= openprocurement_client.Пошук угоди по ідентифікатору ${username} ${agreement_uaid} | |
2123 | + ${reply}= Call Method ${USERS.users['${username}'].agreement_client} upload_document | |
2124 | + ... ${filepath} | |
2125 | + ... ${agreement.data.id} | |
2126 | + ... access_token=${USERS.users['${username}'].agreement_access_token} | |
2127 | + Log Object Data ${reply} reply | |
2128 | + [return] ${reply} | |
2129 | + | |
2130 | + | |
2131 | +Завантажити документ для зміни у рамковій угоді | |
2132 | + [Arguments] ${username} ${filepath} ${agreement_uaid} ${item_id} | |
2133 | + Log ${username} | |
2134 | + Log ${agreement_uaid} | |
2135 | + Log ${filepath} | |
2136 | + ${agreement}= openprocurement_client.Пошук угоди по ідентифікатору ${username} ${agreement_uaid} | |
2137 | + ${document}= openprocurement_client.Завантажити документ в рамкову угоду ${username} ${filepath} ${agreement_uaid} | |
2138 | + Set to dictionary ${document.data} documentOf=change | |
2139 | + Set to dictionary ${document.data} relatedItem=${item_id} | |
2140 | + ${reply}= Call Method ${USERS.users['${username}'].agreement_client} patch_document | |
2141 | + ... ${agreement.data.id} | |
2142 | + ... ${document} | |
2143 | + ... ${document.data.id} | |
2144 | + ... access_token=${USERS.users['${username}'].agreement_access_token} | |
2145 | + [return] ${reply} | |
2146 | + | |
2147 | + | |
2148 | +Завершити угоду | |
2149 | + [Arguments] ${username} ${agreement_uaid} | |
2150 | + ${internalid}= openprocurement_client.Отримати internal id угоди по UAid ${username} ${agreement_uaid} | |
2151 | + ${data}= Create Dictionary status=terminated | |
2152 | + ${data}= Create Dictionary data=${data} | |
2153 | + ${reply}= Call Method ${USERS.users['${username}'].agreement_client} patch_agreement | |
2154 | + ... ${internalid} | |
2155 | + ... ${data} | |
2156 | + ... access_token=${USERS.users['${username}'].agreement_access_token} | |
2157 | + | |
2158 | + | |
2159 | +Отримати інформацію із угоди | |
2160 | + [Arguments] ${username} ${agreement_uaid} ${field_name} | |
2161 | + openprocurement_client.Пошук угоди по ідентифікатору | |
2162 | + ... ${username} | |
2163 | + ... ${agreement_uaid} | |
2164 | + ${status} ${field_value}= Run Keyword And Ignore Error | |
2165 | + ... Get From Object | |
2166 | + ... ${USERS.users['${username}'].agreement_data.data} | |
2167 | + ... ${field_name} | |
2168 | + Run Keyword If '${status}' == 'PASS' Return From Keyword ${field_value} | |
2169 | + Fail Field not found: ${field_name} | |
\ No newline at end of file | ... | ... |
1 | 1 | from openprocurement_client.resources.tenders import Client |
2 | 2 | from openprocurement_client.resources.edr import EDRClient |
3 | +from openprocurement_client.resources.agreements import AgreementClient | |
3 | 4 | from openprocurement_client.dasu_client import DasuClient |
4 | 5 | from openprocurement_client.resources.document_service import DocumentServiceClient |
5 | 6 | from openprocurement_client.resources.plans import PlansClient |
... | ... | @@ -34,6 +35,13 @@ class StableDsClient(DocumentServiceClient): |
34 | 35 | return super(StableDsClient, self).request(*args, **kwargs) |
35 | 36 | |
36 | 37 | |
38 | +class StableAgreementClient(AgreementClient): | |
39 | + @retry(stop_max_attempt_number=100, wait_random_min=500, | |
40 | + wait_random_max=4000, retry_on_exception=retry_if_request_failed) | |
41 | + def request(self, *args, **kwargs): | |
42 | + return super(StableAgreementClient, self).request(*args, **kwargs) | |
43 | + | |
44 | + | |
37 | 45 | def prepare_api_wrapper(key, resource, host_url, api_version, ds_client=None): |
38 | 46 | return StableClient(key, resource, host_url, api_version, |
39 | 47 | ds_client=ds_client) |
... | ... | @@ -43,6 +51,11 @@ def prepare_ds_api_wrapper(ds_host_url, auth_ds): |
43 | 51 | return StableDsClient(ds_host_url, auth_ds) |
44 | 52 | |
45 | 53 | |
54 | +def prepare_agreement_api_wrapper(key, resource, host_url, api_version, ds_client=None): | |
55 | + return StableAgreementClient(key, resource, host_url, api_version, | |
56 | + ds_client=ds_client) | |
57 | + | |
58 | + | |
46 | 59 | class ContractingStableClient(ContractingClient): |
47 | 60 | @retry(stop_max_attempt_number=100, wait_random_min=500, wait_random_max=4000, retry_on_exception=retry_if_request_failed) |
48 | 61 | def request(self, *args, **kwargs): | ... | ... |
... | ... | @@ -650,6 +650,32 @@ def test_change_data(): |
650 | 650 | }) |
651 | 651 | |
652 | 652 | |
653 | +def test_agreement_change_data(rationaleType): | |
654 | + return munchify( | |
655 | + { | |
656 | + "data": | |
657 | + { | |
658 | + "rationale": fake.description(), | |
659 | + "rationale_en": fake_en.sentence(nb_words=10, variable_nb_words=True), | |
660 | + "rationale_ru": fake_ru.sentence(nb_words=10, variable_nb_words=True), | |
661 | + "rationaleType": rationaleType, | |
662 | + } | |
663 | + }) | |
664 | + | |
665 | + | |
666 | +def test_modification_data(item_id, field_name, field_value): | |
667 | + data = { | |
668 | + "modifications": [ | |
669 | + { | |
670 | + "itemId": item_id, | |
671 | + field_name: field_value | |
672 | + } | |
673 | + ] | |
674 | + } | |
675 | + return munchify({'data':data}) | |
676 | + | |
677 | + | |
678 | + | |
653 | 679 | def get_hash(file_contents): |
654 | 680 | return ("md5:"+hashlib.md5(file_contents).hexdigest()) |
655 | 681 | ... | ... |
... | ... | @@ -340,6 +340,25 @@ Get Broker Property By Username |
340 | 340 | [Return] ${change_data} |
341 | 341 | |
342 | 342 | |
343 | +Підготувати дані про зміну до угоди | |
344 | + [Arguments] ${username} ${rationaleType} | |
345 | + ${change_data}= test_agreement_change_data ${rationaleType} | |
346 | + Set To Dictionary ${USERS.users['${username}']} change_data=${change_data} | |
347 | + Log ${change_data} | |
348 | + [Return] ${change_data} | |
349 | + | |
350 | + | |
351 | +Підготувати дані для оновлення властивості угоди | |
352 | + [Arguments] ${username} ${field_name} ${field_value} | |
353 | + ${modification_data}= test_modification_data | |
354 | + ... ${USERS.users['${username}'].agreement_data.data['items'][0]['id']} | |
355 | + ... ${field_name} | |
356 | + ... ${field_value} | |
357 | + Set To Dictionary ${USERS.users['${username}']} modification_data=${modification_data} | |
358 | + Log ${modification_data} | |
359 | + [Return] ${modification_data} | |
360 | + | |
361 | + | |
343 | 362 | Адаптувати дані для оголошення тендера |
344 | 363 | [Arguments] ${tender_data} |
345 | 364 | # munchify is used to make deep copy of ${tender_data} |
... | ... | @@ -530,6 +549,12 @@ Log differences between dicts |
530 | 549 | Порівняти об'єкти ${left} ${right} |
531 | 550 | |
532 | 551 | |
552 | +Звірити поле угоди із значенням | |
553 | + [Arguments] ${username} ${agreement_uaid} ${left} ${field} | |
554 | + ${right}= Run As ${username} Отримати інформацію із угоди ${agreement_uaid} ${field} | |
555 | + Порівняти об'єкти ${left} ${right} | |
556 | + | |
557 | + | |
533 | 558 | Звірити поле зміни до договору |
534 | 559 | [Arguments] ${username} ${contract_uaid} ${change_data} ${field} |
535 | 560 | ${left}= get_from_object ${change_data.data} ${field} |
... | ... | @@ -690,6 +715,24 @@ Log differences between dicts |
690 | 715 | [return] ${field_value} |
691 | 716 | |
692 | 717 | |
718 | +Отримати дані із угоди | |
719 | + [Arguments] ${username} ${agreement_uaid} ${field_name} | |
720 | + ${status} ${field_value}= Run keyword and ignore error | |
721 | + ... get_from_object | |
722 | + ... ${USERS.users['${username}'].agreement_data.data} | |
723 | + ... ${field_name} | |
724 | + # If field in cache, return its value | |
725 | + Run Keyword if '${status}' == 'PASS' Return from keyword ${field_value} | |
726 | + # Else call broker to find field | |
727 | + ${field_value}= Run As ${username} Отримати інформацію із угоди ${agreement_uaid} ${field_name} | |
728 | + # And caching its value before return | |
729 | + Set_To_Object ${USERS.users['${username}'].agreement_data.data} ${field_name} ${field_value} | |
730 | + ${data}= munch_dict arg=${USERS.users['${username}'].agreement_data.data} | |
731 | + Set To Dictionary ${USERS.users['${username}'].agreement_data} data=${data} | |
732 | + Log ${USERS.users['${username}'].agreement_data.data} | |
733 | + [return] ${field_value} | |
734 | + | |
735 | + | |
693 | 736 | Отримати дані із об'єкта моніторингу |
694 | 737 | [Arguments] ${username} ${monitoring_uaid} ${field_name} ${object_id}=${Empty} |
695 | 738 | ${status} ${field_value}= Run keyword and ignore error | ... | ... |
... | ... | @@ -1779,7 +1779,17 @@ ${MOZ_INTEGRATION} ${False} |
1779 | 1779 | ... openeu_add_financial_bid_doc_by_provider |
1780 | 1780 | ... critical |
1781 | 1781 | [Teardown] Оновити LAST_MODIFICATION_DATE |
1782 | - Можливість завантажити financial_documents документ до пропозиції учасником ${provider} | |
1782 | + Можливість завантажити документ до пропозиції учасником ${provider} financial_documents | |
1783 | + | |
1784 | + | |
1785 | +Можливість завантажити фінансовий документ winningBid до пропозиції першим учасником | |
1786 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | |
1787 | + ... provider | |
1788 | + ... ${USERS.users['${provider}'].broker} | |
1789 | + ... add_winningBid_doc_by_provider | |
1790 | + ... critical | |
1791 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
1792 | + Можливість завантажити документ до пропозиції учасником ${provider} financial_documents winningBid | |
1783 | 1793 | |
1784 | 1794 | |
1785 | 1795 | Можливість завантажити кваліфікаційний документ до пропозиції першим учасником |
... | ... | @@ -1789,7 +1799,7 @@ ${MOZ_INTEGRATION} ${False} |
1789 | 1799 | ... openeu_add_qualification_bid_doc_by_provider |
1790 | 1800 | ... critical |
1791 | 1801 | [Teardown] Оновити LAST_MODIFICATION_DATE |
1792 | - Можливість завантажити qualification_documents документ до пропозиції учасником ${provider} | |
1802 | + Можливість завантажити документ до пропозиції учасником ${provider} qualification_documents | |
1793 | 1803 | |
1794 | 1804 | |
1795 | 1805 | Можливість завантажити документ для критеріїв прийнятності до пропозиції першим учасником |
... | ... | @@ -1799,7 +1809,7 @@ ${MOZ_INTEGRATION} ${False} |
1799 | 1809 | ... openeu_add_eligibility_bid_doc_by_provider |
1800 | 1810 | ... critical |
1801 | 1811 | [Teardown] Оновити LAST_MODIFICATION_DATE |
1802 | - Можливість завантажити eligibility_documents документ до пропозиції учасником ${provider} | |
1812 | + Можливість завантажити документ до пропозиції учасником ${provider} eligibility_documents | |
1803 | 1813 | |
1804 | 1814 | |
1805 | 1815 | Неможливість задати запитання на тендер після завершення періоду уточнень | ... | ... |
... | ... | @@ -12,6 +12,7 @@ |
12 | 12 | -i find_tender |
13 | 13 | |
14 | 14 | -i tender_view |
15 | +-i tender_view_value | |
15 | 16 | -i tender_view_unit_code |
16 | 17 | -i tender_view_coordinates |
17 | 18 | -i tender_view_framework |
... | ... | @@ -58,6 +59,7 @@ |
58 | 59 | -i openeu_add_financial_bid_doc_by_provider |
59 | 60 | -i openeu_add_qualification_bid_doc_by_provider |
60 | 61 | -i openeu_add_eligibility_bid_doc_by_provider |
62 | +-i add_winningBid_doc_by_provider | |
61 | 63 | |
62 | 64 | -i pre-qualification_add_doc_to_tender |
63 | 65 | -i pre-qualification_add_doc_to_lot |
... | ... | @@ -76,6 +78,7 @@ |
76 | 78 | -i pre-qualification_approve_qualifications |
77 | 79 | |
78 | 80 | -i auction_url |
81 | +-i auction | |
79 | 82 | |
80 | 83 | -i qualification_add_doc_to_first_award |
81 | 84 | -i qualification_approve_first_award |
... | ... | @@ -92,4 +95,13 @@ |
92 | 95 | -i contract_stand_still |
93 | 96 | -i awarding_approve_first_award |
94 | 97 | -i modify_agreement |
95 | --i agreement_registration | |
\ No newline at end of file | ||
98 | +-i agreement_registration | |
99 | + | |
100 | + | |
101 | +-i find_agreement | |
102 | +-i add_agreement_doc | |
103 | +-i submit_change | |
104 | +-i change_view | |
105 | +-i modification | |
106 | +-i modification_view | |
107 | +-i apply_change | |
\ No newline at end of file | ... | ... |
Please
register
or
login
to post a comment