Showing
18 changed files
with
2032 additions
and
148 deletions
kai.dat
0 → 100644
No preview for this file type
@@ -3,6 +3,8 @@ | @@ -3,6 +3,8 @@ | ||
3 | Resource playtender_common.robot | 3 | Resource playtender_common.robot |
4 | Resource playtender_plan.robot | 4 | Resource playtender_plan.robot |
5 | Resource playtender_tender.robot | 5 | Resource playtender_tender.robot |
6 | +Resource playtender_qualification.robot | ||
7 | +Resource playtender_contract.robot | ||
6 | 8 | ||
7 | *** Variables *** | 9 | *** Variables *** |
8 | 10 | ||
@@ -116,6 +118,10 @@ Resource playtender_tende | @@ -116,6 +118,10 @@ Resource playtender_tende | ||
116 | Set Global Variable ${td_railway_crutch} ${tender_data} | 118 | Set Global Variable ${td_railway_crutch} ${tender_data} |
117 | ##### EOF - TMP ##### | 119 | ##### EOF - TMP ##### |
118 | 120 | ||
121 | + ${tender_data_keys}= Get Dictionary Keys ${tender_data.data} | ||
122 | + ${procurementMethodType} = Set Variable If 'procurementMethodType' in ${tender_data_keys} ${tender_data.data.procurementMethodType} belowThreshold | ||
123 | + Run Keyword If '${SUITE_NAME}' == 'Tests Files.Complaints' and '${procurementMethodType}' == 'aboveThresholdUA' Go To ${BROKERS['playtender'].basepage}/utils/config?tacceleration=360 | ||
124 | + Run Keyword If '${SUITE_NAME}' == 'Tests Files.Complaints' and '${procurementMethodType}' == 'belowThreshold' Go To ${BROKERS['playtender'].basepage}/utils/config?tacceleration=720 | ||
119 | open new tender form | 125 | open new tender form |
120 | fill tender form ${tender_prepared_data} | 126 | fill tender form ${tender_prepared_data} |
121 | submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator} | 127 | submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator} |
@@ -128,10 +134,11 @@ Resource playtender_tende | @@ -128,10 +134,11 @@ Resource playtender_tende | ||
128 | [Arguments] ${username} ${$tender_uaid} | 134 | [Arguments] ${username} ${$tender_uaid} |
129 | [Documentation] Оновити сторінку з тендером для отримання потенційно оновлених даних. | 135 | [Documentation] Оновити сторінку з тендером для отримання потенційно оновлених даних. |
130 | 136 | ||
137 | + Selenium2Library.Switch Browser ${username} | ||
131 | open tender page by uaid ${$tender_uaid} | 138 | open tender page by uaid ${$tender_uaid} |
132 | 139 | ||
133 | Пошук тендера по ідентифікатору | 140 | Пошук тендера по ідентифікатору |
134 | - [Arguments] ${username} ${tender_uaid} | 141 | + [Arguments] ${username} ${tender_uaid} ${save_key}=${Empty} |
135 | [Documentation] Знайти тендер з uaid рівним tender_uaid. | 142 | [Documentation] Знайти тендер з uaid рівним tender_uaid. |
136 | 143 | ||
137 | open tender search form | 144 | open tender search form |
@@ -143,6 +150,13 @@ Resource playtender_tende | @@ -143,6 +150,13 @@ Resource playtender_tende | ||
143 | 150 | ||
144 | open tender page by uaid ${tender_uaid} | 151 | open tender page by uaid ${tender_uaid} |
145 | wait until page does not contain element with reloading ${tender_sync_element_locator} | 152 | wait until page does not contain element with reloading ${tender_sync_element_locator} |
153 | + run keyword if '${field_name}' == 'status' wait for tender status | ||
154 | + run keyword if '${field_name}' == 'qualificationPeriod.endDate' Wait Until Keyword Succeeds 1600 s 20 s Wait For QualificationsPeriodEnd | ||
155 | + Run Keyword And Return If '${field_name}' == 'contracts[0].status' or '${field_name}' == 'contracts[1].status' Отримати інформацію із contracts[0].status | ||
156 | + Run Keyword And Return If '${field_name}' == 'qualificationPeriod.endDate' and '${mode}' in 'open_competitive_dialogue' Отримати інформацію із qualificationPeriod.endDate | ||
157 | + Run Keyword And Return If '${field_name}' in 'awards[0].complaintPeriod.endDate awards[1].complaintPeriod.endDate awards[2].complaintPeriod.endDate awards[3].complaintPeriod.endDate' Отримати інформацію із awards.complaintPeriod.endDate | ||
158 | + Run Keyword And Return If '${field_name}' in 'minimalStep.amount' Отримати інформацію із minimalStep.amount | ||
159 | + Run Keyword And Return If '${field_name}' == 'awards[0].documents[0].title' Отримати інформацію із awards[0].documents[0].title | ||
146 | ${field_name} = set variable tender.${field_name}.value | 160 | ${field_name} = set variable tender.${field_name}.value |
147 | ${value} = get field_value by field_name on opened page ${field_name} | 161 | ${value} = get field_value by field_name on opened page ${field_name} |
148 | [Return] ${value} | 162 | [Return] ${value} |
@@ -200,8 +214,8 @@ Resource playtender_tende | @@ -200,8 +214,8 @@ Resource playtender_tende | ||
200 | wait until page contains element with reloading ${tender_form_lots_remove_item_btn_locator} | 214 | wait until page contains element with reloading ${tender_form_lots_remove_item_btn_locator} |
201 | click visible element ${tender_form_lots_remove_item_btn_locator} | 215 | click visible element ${tender_form_lots_remove_item_btn_locator} |
202 | Wait Until Page Contains ${tender_lots_remove_item_form_submit_success_msg} 60 | 216 | Wait Until Page Contains ${tender_lots_remove_item_form_submit_success_msg} 60 |
203 | - click visible element ${not_alert_opened_close_btn_locator} | ||
204 | - run keyword and ignore error click visible element ${not_alert_opened_close_btn_locator} | 217 | + execute javascript ${not_alert_opened_close_btn_locator} |
218 | + #run keyword and ignore error click visible element ${not_alert_opened_close_btn_locator} | ||
205 | capture page screenshot | 219 | capture page screenshot |
206 | Wait Until Page Does Not Contain ${tender_lots_remove_item_form_submit_success_msg} 10 | 220 | Wait Until Page Does Not Contain ${tender_lots_remove_item_form_submit_success_msg} 10 |
207 | capture page screenshot | 221 | capture page screenshot |
@@ -229,9 +243,9 @@ Resource playtender_tende | @@ -229,9 +243,9 @@ Resource playtender_tende | ||
229 | #перейти на соответствующий лот, например, первый | 243 | #перейти на соответствующий лот, например, первый |
230 | ${tender_lot_switch_tabs_lot_btn_locator} = replace string ${tender_lot_switch_tabs_lot_btn_locator_tpl} %lot_id% ${lot_id} | 244 | ${tender_lot_switch_tabs_lot_btn_locator} = replace string ${tender_lot_switch_tabs_lot_btn_locator_tpl} %lot_id% ${lot_id} |
231 | click visible element ${tender_lot_switch_tabs_lot_btn_locator} | 245 | click visible element ${tender_lot_switch_tabs_lot_btn_locator} |
232 | - ${field_name} = set variable tender.lot.${field_name}.value | ||
233 | -# ${value} = get value from lot ${lot_id} ${field_name} | ||
234 | - ${value} = get field_value by field_name on opened page ${field_name} | 246 | +# ${field_name} = set variable tender.lot.${field_name}.value |
247 | + ${value} = get value from lot ${lot_id} ${field_name} | ||
248 | +# ${value} = get field_value by field_name on opened page ${field_name} | ||
235 | [Return] ${value} | 249 | [Return] ${value} |
236 | 250 | ||
237 | Завантажити документ в лот | 251 | Завантажити документ в лот |
@@ -262,9 +276,12 @@ Resource playtender_tende | @@ -262,9 +276,12 @@ Resource playtender_tende | ||
262 | [Documentation] Додати предмет item в лот з lot_id в описі для тендера tender_uaid. | 276 | [Documentation] Додати предмет item в лот з lot_id в описі для тендера tender_uaid. |
263 | 277 | ||
264 | open tender form by uaid ${tender_uaid} | 278 | open tender form by uaid ${tender_uaid} |
265 | - click visible element ${tender_form_lots_add_item_btn_locator} | 279 | +# click visible element ${tender_form_lots_add_item_btn_locator} |
266 | ${items} = create list ${item} | 280 | ${items} = create list ${item} |
267 | fill tender form items ${items} | 281 | fill tender form items ${items} |
282 | +# wait until popup is visible | ||
283 | +# fill tender item form in opened popup ${item} | ||
284 | +# submit current visible popup | ||
268 | save tender form and wait synchronization | 285 | save tender form and wait synchronization |
269 | 286 | ||
270 | 287 | ||
@@ -280,7 +297,9 @@ Resource playtender_tende | @@ -280,7 +297,9 @@ Resource playtender_tende | ||
280 | [Documentation] Додати дані feature про неціновий показник до тендера tender_uaid. | 297 | [Documentation] Додати дані feature про неціновий показник до тендера tender_uaid. |
281 | 298 | ||
282 | open tender form by uaid ${tender_uaid} | 299 | open tender form by uaid ${tender_uaid} |
283 | - fill tender form features2 ${feature} ${tender_form_general_panel_update_feature_btn_locator} | 300 | + ${features} = create list ${feature} |
301 | + fill tender form features ${features} ${tender_update_feature_tender_btn_locator} | ||
302 | + #fill tender form features2 ${feature} ${tender_update_feature_tender_btn_locator} | ||
284 | save tender form and wait synchronization | 303 | save tender form and wait synchronization |
285 | 304 | ||
286 | Додати неціновий показник на предмет | 305 | Додати неціновий показник на предмет |
@@ -288,7 +307,9 @@ Resource playtender_tende | @@ -288,7 +307,9 @@ Resource playtender_tende | ||
288 | [Documentation] Додати дані feature про неціновий показник до предмету з item_id в описі для тендера tender_uaid. | 307 | [Documentation] Додати дані feature про неціновий показник до предмету з item_id в описі для тендера tender_uaid. |
289 | 308 | ||
290 | open tender form by uaid ${tender_uaid} | 309 | open tender form by uaid ${tender_uaid} |
291 | - fill tender form features2 ${feature} ${tender_form_item_add_feature_btn_locator} | 310 | + ${features} = create list ${feature} |
311 | + fill tender form features ${features} ${tender_form_item_add_feature_btn_locator} | ||
312 | +# fill tender form features2 ${feature} ${tender_form_item_add_feature_btn_locator} | ||
292 | save tender form and wait synchronization | 313 | save tender form and wait synchronization |
293 | 314 | ||
294 | Додати неціновий показник на лот | 315 | Додати неціновий показник на лот |
@@ -296,7 +317,10 @@ Resource playtender_tende | @@ -296,7 +317,10 @@ Resource playtender_tende | ||
296 | [Documentation] Додати дані feature про неціновий показник до лоту з lot_id в описі для тендера tender_uaid. | 317 | [Documentation] Додати дані feature про неціновий показник до лоту з lot_id в описі для тендера tender_uaid. |
297 | 318 | ||
298 | open tender form by uaid ${tender_uaid} | 319 | open tender form by uaid ${tender_uaid} |
299 | - fill tender form features2 ${feature} ${tender_update_feature_lot_btn_locator} | 320 | +# click visible element ${tender_update_feature_lot_btn_locator} |
321 | + ${features} = create list ${feature} | ||
322 | + fill tender form features ${features} ${tender_update_feature_lot_btn_locator} | ||
323 | +# fill tender form features2 ${feature} ${tender_update_feature_lot_btn_locator} | ||
300 | save tender form and wait synchronization | 324 | save tender form and wait synchronization |
301 | 325 | ||
302 | Отримати інформацію із нецінового показника | 326 | Отримати інформацію із нецінового показника |
@@ -312,18 +336,19 @@ Resource playtender_tende | @@ -312,18 +336,19 @@ Resource playtender_tende | ||
312 | [Arguments] ${username} ${tender_uaid} ${feature_id} ${obj_id}=Empty | 336 | [Arguments] ${username} ${tender_uaid} ${feature_id} ${obj_id}=Empty |
313 | [Documentation] Видалити неціновий показник з feature_id в описі для тендера tender_uaid. | 337 | [Documentation] Видалити неціновий показник з feature_id в описі для тендера tender_uaid. |
314 | 338 | ||
315 | - | ||
316 | open tender form by uaid ${tender_uaid} | 339 | open tender form by uaid ${tender_uaid} |
317 | Run Keyword If '${TEST_NAME}' == 'Можливість видалити неціновий показник на предмет' click visible element ${tender_update_feature_item_btn_locator} | 340 | Run Keyword If '${TEST_NAME}' == 'Можливість видалити неціновий показник на предмет' click visible element ${tender_update_feature_item_btn_locator} |
318 | Run Keyword If '${TEST_NAME}' == 'Можливість видалити неціновий показник на лот' click visible element ${tender_update_feature_lot_btn_locator} | 341 | Run Keyword If '${TEST_NAME}' == 'Можливість видалити неціновий показник на лот' click visible element ${tender_update_feature_lot_btn_locator} |
319 | Run Keyword If '${TEST_NAME}' == 'Можливість видалити неціновий показник на тендер' click visible element ${tender_update_feature_tender_btn_locator} | 342 | Run Keyword If '${TEST_NAME}' == 'Можливість видалити неціновий показник на тендер' click visible element ${tender_update_feature_tender_btn_locator} |
320 | wait until popup is visible | 343 | wait until popup is visible |
321 | ${tender_feature_switch_dell_btn_locator} = replace string ${tender_feature_switch_dell_btn_locator_tpl} %feature_id% ${feature_id} | 344 | ${tender_feature_switch_dell_btn_locator} = replace string ${tender_feature_switch_dell_btn_locator_tpl} %feature_id% ${feature_id} |
322 | - click visible element ${tender_feature_switch_dell_btn_locator} | 345 | + execute javascript ${tender_feature_switch_dell_btn_locator} |
346 | +# click visible element ${tender_feature_switch_dell_btn_locator} | ||
323 | Wait Until Element Is Visible ${tender_feature_dell_btn_locator} 20 | 347 | Wait Until Element Is Visible ${tender_feature_dell_btn_locator} 20 |
324 | click visible element ${tender_feature_dell_btn_locator} | 348 | click visible element ${tender_feature_dell_btn_locator} |
325 | Wait Until Page Contains ${tender_feature_form_submit_success_msg} 60 | 349 | Wait Until Page Contains ${tender_feature_form_submit_success_msg} 60 |
326 | - click visible element ${not_alert_opened_close_btn_locator} | 350 | + execute javascript ${not_alert_opened_close_btn_locator} |
351 | + #click visible element ${not_alert_opened_close_btn_locator} | ||
327 | Wait Until Page Does Not Contain ${tender_feature_form_submit_success_msg} 10 | 352 | Wait Until Page Does Not Contain ${tender_feature_form_submit_success_msg} 10 |
328 | submit current visible popup | 353 | submit current visible popup |
329 | save tender form and wait synchronization | 354 | save tender form and wait synchronization |
@@ -342,7 +367,7 @@ Resource playtender_tende | @@ -342,7 +367,7 @@ Resource playtender_tende | ||
342 | [Documentation] Дати відповідь answer_data на запитання з question_id | 367 | [Documentation] Дати відповідь answer_data на запитання з question_id |
343 | ... в описі для тендера tender_uaid. | 368 | ... в описі для тендера tender_uaid. |
344 | 369 | ||
345 | - open tender form by uaid ${tender_uaid} | 370 | + open tender page by uaid ${tender_uaid} |
346 | answer question ${answer_data} ${question_id} | 371 | answer question ${answer_data} ${question_id} |
347 | 372 | ||
348 | Задати запитання на предмет | 373 | Задати запитання на предмет |
@@ -385,6 +410,7 @@ Resource playtender_tende | @@ -385,6 +410,7 @@ Resource playtender_tende | ||
385 | Створити вимогу про виправлення умов закупівлі | 410 | Створити вимогу про виправлення умов закупівлі |
386 | [Arguments] ${username} ${tender_uaid} ${claim} ${doc_name} | 411 | [Arguments] ${username} ${tender_uaid} ${claim} ${doc_name} |
387 | [Documentation] Створити запитання з даними question для тендера tender_uaid. | 412 | [Documentation] Створити запитання з даними question для тендера tender_uaid. |
413 | + | ||
388 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} tender null ${claim} ${doc_name} | 414 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} tender null ${claim} ${doc_name} |
389 | 415 | ||
390 | Створити чернетку вимоги про виправлення умов закупівлі | 416 | Створити чернетку вимоги про виправлення умов закупівлі |
@@ -407,20 +433,150 @@ Resource playtender_tende | @@ -407,20 +433,150 @@ Resource playtender_tende | ||
407 | [Arguments] ${username} ${tender_uaid} ${claim} ${lot_id} | 433 | [Arguments] ${username} ${tender_uaid} ${claim} ${lot_id} |
408 | [Documentation] Створює вимогу claim про виправлення умов закупівлі | 434 | [Documentation] Створює вимогу claim про виправлення умов закупівлі |
409 | ... у статусі draft для тендера tender_uaid. | 435 | ... у статусі draft для тендера tender_uaid. |
436 | + | ||
410 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} lot ${lot_id} ${claim} null | 437 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} lot ${lot_id} ${claim} null |
411 | 438 | ||
412 | Створити вимогу про виправлення визначення переможця | 439 | Створити вимогу про виправлення визначення переможця |
413 | [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id} ${doc_name} | 440 | [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id} ${doc_name} |
414 | [Documentation] Створює вимогу claim про виправлення визначення переможця | 441 | [Documentation] Створює вимогу claim про виправлення визначення переможця |
415 | ... під номером award_index в статусі claim для тендера tender_uaid. Можна створити вимогу як з документом, який знаходиться за шляхом document, так і без нього. | 442 | ... під номером award_index в статусі claim для тендера tender_uaid. Можна створити вимогу як з документом, який знаходиться за шляхом document, так і без нього. |
443 | + | ||
416 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner ${proposal_id} ${claim} ${doc_name} | 444 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner ${proposal_id} ${claim} ${doc_name} |
417 | 445 | ||
418 | Створити чернетку вимоги про виправлення визначення переможця | 446 | Створити чернетку вимоги про виправлення визначення переможця |
419 | [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id} | 447 | [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id} |
420 | [Documentation] Створює вимогу claim про виправлення визначення переможця | 448 | [Documentation] Створює вимогу claim про виправлення визначення переможця |
421 | ... під номером award_index в статусі draft для тендера tender_uaid. | 449 | ... під номером award_index в статусі draft для тендера tender_uaid. |
450 | + | ||
422 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner ${proposal_id} ${claim} null | 451 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner ${proposal_id} ${claim} null |
423 | 452 | ||
453 | +Створити скаргу про виправлення визначення переможця | ||
454 | + [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id} ${doc_name} | ||
455 | + [Documentation] Створює скаргу claim про виправлення визначення переможця | ||
456 | + ... під номером proposal_id в статусі claim для тендера tender_uaid. | ||
457 | + | ||
458 | + Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner_complaint ${proposal_id} ${claim} ${doc_name} | ||
459 | + | ||
460 | + | ||
461 | +Скасувати вимогу про виправлення умов закупівлі | ||
462 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${cancellation_data} | ||
463 | + [Documentation] Перевести вимогу complaintID про виправлення умов закупівлі для | ||
464 | + ... тендера tender_uaid у статус cancelled, використовуючи при цьому | ||
465 | + ... дані cancellation_data. | ||
466 | + | ||
467 | + Скасувати вимогу ${username} ${tender_uaid} ${complaintID} ${cancellation_data} null | ||
468 | + | ||
469 | +Скасувати вимогу про виправлення умов лоту | ||
470 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${cancellation_data} | ||
471 | + [Documentation] Перевести вимогу complaintID про виправлення умов лоту для тендера | ||
472 | + ... tender_uaid у статус cancelled, використовуючи при цьому | ||
473 | + ... дані cancellation_data. | ||
474 | + | ||
475 | + Скасувати вимогу ${username} ${tender_uaid} ${complaintID} ${cancellation_data} null | ||
476 | + | ||
477 | +Скасувати вимогу про виправлення визначення переможця | ||
478 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${cancellation_data} ${award_index} | ||
479 | + [Documentation] Перевести вимогу complaintID про виправлення визначення переможця | ||
480 | + ... під номером award_index для тендера tender_uaid у статус cancelled, використовуючи | ||
481 | + ... при цьому дані confirmation_data. | ||
482 | + | ||
483 | + Скасувати вимогу ${username} ${tender_uaid} ${complaintID} ${cancellation_data} ${award_index} | ||
484 | + | ||
485 | +Підтвердити вирішення вимоги про виправлення умов закупівлі | ||
486 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${confirmation_data} | ||
487 | + [Documentation] Перевести вимогу complaintID про виправлення умов закупівлі для | ||
488 | + ... тендера tender_uaid у статус resolved, використовуючи при цьому дані | ||
489 | + ... confirmation_data. | ||
490 | + | ||
491 | + Підтвердити вирішення вимоги ${username} ${tender_uaid} tender null ${complaintID} ${confirmation_data} null | ||
492 | + | ||
493 | +Підтвердити вирішення вимоги про виправлення умов лоту | ||
494 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${confirmation_data} | ||
495 | + [Documentation] Перевести вимогу complaintID про виправлення умов лоту для тендера | ||
496 | + ... tender_uaid у статус resolved, використовуючи при цьому дані confirmation_data. | ||
497 | + | ||
498 | + Підтвердити вирішення вимоги ${username} ${tender_uaid} lot null ${complaintID} ${confirmation_data} null | ||
499 | + | ||
500 | +Підтвердити вирішення вимоги про виправлення визначення переможця | ||
501 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${confirmation_data} ${award_index} | ||
502 | + [Documentation] Перевести вимогу complaintID про виправлення визначення переможця | ||
503 | + ... під номером award_index для тендера tender_uaid у статус resolved, використовуючи | ||
504 | + ... при цьому дані confirmation_data. | ||
505 | + | ||
506 | + Підтвердити вирішення вимоги ${username} ${tender_uaid} award null ${complaintID} ${confirmation_data} ${award_index} | ||
507 | + | ||
508 | +Перетворити вимогу про виправлення умов закупівлі в скаргу | ||
509 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${escalating_data} | ||
510 | + [Documentation] Перевести вимогу complaintID про виправлення умов закупівлі для | ||
511 | + ... тендера tender_uaid у статус pending, використовуючи при цьому дані | ||
512 | + ... escalating_data. | ||
513 | + | ||
514 | + Підтвердити вирішення вимоги ${username} ${tender_uaid} tender null ${complaintID} ${escalating_data} null | ||
515 | + | ||
516 | +Перетворити вимогу про виправлення умов лоту в скаргу | ||
517 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${escalating_data} | ||
518 | + [Documentation] Перевести вимогу complaintID про виправлення умов лоту для тендера | ||
519 | + ... tender_uaid у статус pending, використовуючи при цьому дані escalating_data. | ||
520 | + | ||
521 | + Підтвердити вирішення вимоги ${username} ${tender_uaid} lot null ${complaintID} ${escalating_data} null | ||
522 | + | ||
523 | +Перетворити вимогу про виправлення визначення переможця в скаргу | ||
524 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${escalating_data} ${award_index} | ||
525 | + [Documentation] Перевести вимогу complaintID про виправлення визначення переможця | ||
526 | + ... під номером award_index для тендера tender_uaid у статус pending, використовуючи при | ||
527 | + ... цьому дані escalating_data. | ||
528 | + | ||
529 | + Підтвердити вирішення вимоги ${username} ${tender_uaid} award null ${complaintID} ${escalating_data} ${award_index} | ||
530 | + | ||
531 | +Отримати інформацію із скарги | ||
532 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${field_name} ${award_index}=${None} | ||
533 | + [Documentation] Отримати значення поля field_name скарги/вимоги complaintID про | ||
534 | + ... виправлення умов закупівлі/лоту для тендера tender_uaid (скарги/вимоги про | ||
535 | + ... виправлення визначення переможця під номером award_index, якщо award_index != None). | ||
536 | + | ||
537 | + ${value} = get claim information ${tender_uaid} ${complaintID} ${field_name} ${award_index}=${None} | ||
538 | + [Return] ${value} | ||
539 | + | ||
540 | +Отримати інформацію із документа до скарги | ||
541 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${doc_id} ${field_name} | ||
542 | + [Documentation] Отримати значення поля field_name з документу doc_id до скарги/вимоги | ||
543 | + ... complaintID для тендера tender_uaid. | ||
544 | + | ||
545 | + open tender page by uaid ${tender_uaid} | ||
546 | + ${return_value} = Run Keyword If 'title' == '${field_name}' Отримати інформацію із документа скарги title ${complaintID} ${doc_id} | ||
547 | + [return] ${return_value} | ||
548 | + | ||
549 | +Отримати документ до скарги | ||
550 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${doc_id} | ||
551 | + [Documentation] Завантажити файл doc_id до скарги complaintID для тендера tender_uaid | ||
552 | + ... в директорію ${OUTPUT_DIR} для перевірки вмісту цього файлу. | ||
553 | + | ||
554 | + open tender page by uaid ${tender_uaid} | ||
555 | + ${return_value} = get document complaint ${complaintID} ${doc_id} | ||
556 | + [return] ${return_value} | ||
557 | + | ||
558 | +Відповісти на вимогу про виправлення умов закупівлі | ||
559 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${answer_data} | ||
560 | + [Documentation] Відповісти на вимогу complaintID про виправлення умов закупівлі для | ||
561 | + ... тендера tender_uaid, використовуючи при цьому дані answer_data. | ||
562 | + | ||
563 | + Відповісти на вимогу ${username} ${tender_uaid} ${complaintID} ${answer_data} null | ||
564 | + | ||
565 | +Відповісти на вимогу про виправлення умов лоту | ||
566 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${answer_data} | ||
567 | + [Documentation] Відповісти на вимогу complaintID про виправлення умов лоту для тендера | ||
568 | + ... tender_uaid, використовуючи при цьому дані answer_data. | ||
569 | + | ||
570 | + Відповісти на вимогу ${username} ${tender_uaid} ${complaintID} ${answer_data} null | ||
571 | + | ||
572 | +Відповісти на вимогу про виправлення визначення переможця | ||
573 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${answer_data} ${award_index} | ||
574 | + [Documentation] Відповісти на вимогу complaintID про виправлення визначення переможця | ||
575 | + ... під номером award_index для тендера tender_uaid, використовуючи при цьому дані answer_data. | ||
576 | + | ||
577 | + Відповісти на вимогу ${username} ${tender_uaid} ${complaintID} ${answer_data} ${award_index} | ||
578 | + | ||
579 | + | ||
424 | ######################################################################################################################## | 580 | ######################################################################################################################## |
425 | ################################################### END CLAIM KEYWORDS ############################################# | 581 | ################################################### END CLAIM KEYWORDS ############################################# |
426 | ######################################################################################################################## | 582 | ######################################################################################################################## |
@@ -429,7 +585,7 @@ Resource playtender_tende | @@ -429,7 +585,7 @@ Resource playtender_tende | ||
429 | ################################################### BID KEYWORDS ############################################# | 585 | ################################################### BID KEYWORDS ############################################# |
430 | ######################################################################################################################## | 586 | ######################################################################################################################## |
431 | Подати цінову пропозицію | 587 | Подати цінову пропозицію |
432 | - [Arguments] ${username} ${tender_uaid} ${bid} ${lots_ids} ${features_ids} | 588 | + [Arguments] ${username} ${tender_uaid} ${bid} ${lots_ids}=${None} ${features_ids}=${None} |
433 | [Documentation] Подати цінову пропозицію bid для тендера tender_uaid | 589 | [Documentation] Подати цінову пропозицію bid для тендера tender_uaid |
434 | ... на лоти lots_ids (якщо lots_ids != None) з неціновими | 590 | ... на лоти lots_ids (якщо lots_ids != None) з неціновими |
435 | ... показниками features_ids (якщо features_ids != None). | 591 | ... показниками features_ids (якщо features_ids != None). |
@@ -444,16 +600,108 @@ Resource playtender_tende | @@ -444,16 +600,108 @@ Resource playtender_tende | ||
444 | [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача | 600 | [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача |
445 | ... username для тендера tender_uaid. | 601 | ... username для тендера tender_uaid. |
446 | 602 | ||
447 | - open tender form by uaid ${tender_uaid} | 603 | + open tender page by uaid ${tender_uaid} |
448 | fill bid form edit ${fieldname} ${fieldvalue} | 604 | fill bid form edit ${fieldname} ${fieldvalue} |
449 | - submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator} | 605 | + capture page screenshot |
606 | + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | ||
607 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | ||
608 | + | ||
609 | +Скасувати цінову пропозицію | ||
610 | + [Arguments] ${username} ${tender_uaid} | ||
611 | + [Documentation] Змінити статус цінової пропозиції для тендера tender_uaid | ||
612 | + ... користувача username на cancelled. | ||
613 | + | ||
614 | + open tender page by uaid ${tender_uaid} | ||
615 | + fill bid form remove | ||
616 | + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | ||
617 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | ||
618 | + | ||
619 | +Завантажити документ в ставку | ||
620 | + [Arguments] ${username} ${path} ${tender_uaid} ${doc_type}=documents ${doc_name}=${None} | ||
621 | + [Documentation] Завантажити документ типу doc_type, який знаходиться за шляхом path, | ||
622 | + ... до цінової пропозиції користувача username для тендера tender_uaid. | ||
623 | + | ||
624 | + open tender page by uaid ${tender_uaid} | ||
625 | + add document to bid ${path} ${doc_type} ${doc_name} | ||
626 | + capture page screenshot | ||
627 | + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | ||
628 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | ||
629 | + | ||
630 | +Змінити документ в ставці | ||
631 | + [Arguments] ${username} ${tender_uaid} ${path} ${doc_id} | ||
632 | + [Documentation] Змінити документ з doc_id в описі в пропозиції користувача username для | ||
633 | + ... тендера tender_uaid на документ, який знаходиться по шляху path. | ||
634 | + | ||
635 | + open tender page by uaid ${tender_uaid} | ||
636 | + document to bid edit ${path} ${doc_id} | ||
637 | + capture page screenshot | ||
638 | + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | ||
450 | wait until page does not contain element with reloading ${tender_sync_element_locator} | 639 | wait until page does not contain element with reloading ${tender_sync_element_locator} |
451 | 640 | ||
641 | +Змінити документацію в ставці | ||
642 | + [Arguments] ${username} ${tender_uaid} ${doc_data} ${doc_id} | ||
643 | + [Documentation] Змінити тип документа з doc_id в заголовку в пропозиції користувача | ||
644 | + ... username для тендера tender_uaid. Дані про новий тип документа знаходяться в doc_data. | ||
645 | + | ||
646 | + open tender page by uaid ${tender_uaid} | ||
647 | + fill bid form edit document ${doc_data} ${doc_id} | ||
648 | + capture page screenshot | ||
649 | + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | ||
650 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | ||
651 | + | ||
652 | +Отримати інформацію із пропозиції | ||
653 | + [Arguments] ${username} ${tender_uaid} ${field} | ||
654 | + [Documentation] Отримати значення поля field пропозиції користувача | ||
655 | + ... username для тендера tender_uaid. | ||
656 | + | ||
657 | + open tender page by uaid ${tender_uaid} | ||
658 | + ${value} = get bid information ${field} | ||
659 | + [Return] ${value} | ||
660 | + | ||
661 | + | ||
452 | ######################################################################################################################## | 662 | ######################################################################################################################## |
453 | ################################################### END BID KEYWORDS ############################################# | 663 | ################################################### END BID KEYWORDS ############################################# |
454 | ######################################################################################################################## | 664 | ######################################################################################################################## |
455 | ################################################### QUALIFICATION KEYWORDS ############################################# | 665 | ################################################### QUALIFICATION KEYWORDS ############################################# |
456 | ######################################################################################################################## | 666 | ######################################################################################################################## |
667 | +Завантажити документ рішення кваліфікаційної комісії | ||
668 | + [Arguments] ${username} ${document} ${tender_uaid} ${award_num} | ||
669 | + [Documentation] Завантажити документ, який знаходиться по шляху document до | ||
670 | + ... постачальника під номером award_num для тендера tender_uaid. | ||
671 | + | ||
672 | + open tender page by uaid ${tender_uaid} | ||
673 | +# open tender form qualification ${award_num} | ||
674 | +# wait until popup is visible | ||
675 | + copy file qualification ${username} ${document} ${award_num} | ||
676 | + | ||
677 | +Підтвердити постачальника | ||
678 | + [Arguments] ${username} ${tender_uaid} ${award_num} | ||
679 | + [Documentation] Перевести постачальника під номером award_num для тендера tender_uaid | ||
680 | + ... в статус active. | ||
681 | + | ||
682 | + open tender page by uaid ${tender_uaid} | ||
683 | + open tender form qualification ${award_num} | ||
684 | + confirm award qualification ${username} ${award_num} | ||
685 | + | ||
686 | +Дискваліфікувати постачальника | ||
687 | + [Arguments] ${username} ${tender_uaid} ${award_num} | ||
688 | + [Documentation] Перевести постачальника під номером award_num для тендера tender_uaid | ||
689 | + ... в статус unsuccessful. | ||
690 | + | ||
691 | + open tender page by uaid ${tender_uaid} | ||
692 | + open tender form qualification ${award_num} | ||
693 | + reject award qualification ${username} ${award_num} | ||
694 | + | ||
695 | +Скасування рішення кваліфікаційної комісії | ||
696 | + [Arguments] ${username} ${tender_uaid} ${award_num} | ||
697 | + [Documentation] Перевести постачальника під номером award_num для тендера tender_uaid | ||
698 | + ... в статус cancelled. | ||
699 | + | ||
700 | + open tender page by uaid ${tender_uaid} | ||
701 | + open tender form qualification ${award_num} | ||
702 | +# wait until popup is visible | ||
703 | + cancel award qualification | ||
704 | + | ||
457 | ######################################################################################################################## | 705 | ######################################################################################################################## |
458 | ################################################### END QUALIFICATION KEYWORDS ######################################## | 706 | ################################################### END QUALIFICATION KEYWORDS ######################################## |
459 | ######################################################################################################################## | 707 | ######################################################################################################################## |
@@ -461,6 +709,15 @@ Resource playtender_tende | @@ -461,6 +709,15 @@ Resource playtender_tende | ||
461 | ######################################################################################################################## | 709 | ######################################################################################################################## |
462 | ################################################### LIMITED PROCUREMENT KEYWORDS ###################################### | 710 | ################################################### LIMITED PROCUREMENT KEYWORDS ###################################### |
463 | ######################################################################################################################## | 711 | ######################################################################################################################## |
712 | +Створити постачальника, додати документацію і підтвердити його | ||
713 | + [Arguments] ${username} ${tender_uaid} ${supplier_data} ${document} | ||
714 | + [Documentation] Додати постачальника supplier_data для тендера tender_uaid, додати до | ||
715 | + ... нього документ, який знаходиться по шляху document та перевести в статус active. | ||
716 | + | ||
717 | + open tender form by uaid ${tender_uaid} | ||
718 | + fill tender from award reporting ${supplier_data.data.value.amount} ${supplier_data.data.suppliers[0]} | ||
719 | + run keyword and ignore error save tender form and wait synchronization | ||
720 | + confirm award | ||
464 | ######################################################################################################################## | 721 | ######################################################################################################################## |
465 | ################################################### END LIMITED PROCUREMENT KEYWORDS ################################## | 722 | ################################################### END LIMITED PROCUREMENT KEYWORDS ################################## |
466 | ######################################################################################################################## | 723 | ######################################################################################################################## |
@@ -468,7 +725,289 @@ Resource playtender_tende | @@ -468,7 +725,289 @@ Resource playtender_tende | ||
468 | ######################################################################################################################## | 725 | ######################################################################################################################## |
469 | ################################################### OPEN PROCUREMENT KEYWORDS #################################### | 726 | ################################################### OPEN PROCUREMENT KEYWORDS #################################### |
470 | ######################################################################################################################## | 727 | ######################################################################################################################## |
728 | +Підтвердити кваліфікацію | ||
729 | + [Arguments] ${username} ${tender_uaid} ${qualification_num} | ||
730 | + [Documentation] Перевести кваліфікацію під номером qualification_num до тендера | ||
731 | + ... tender_uaid в статус active. | ||
732 | + | ||
733 | + open tender page by uaid ${tender_uaid} | ||
734 | + open tender form prequalification ${qualification_num} | ||
735 | +# wait until popup is visible | ||
736 | + confirm qualifications | ||
737 | +# submit current visible popup | ||
738 | + | ||
739 | +Відхилити кваліфікацію | ||
740 | + [Arguments] ${username} ${tender_uaid} ${qualification_num} | ||
741 | + [Documentation] Перевести кваліфікацію під номером qualification_num до тендера | ||
742 | + ... tender_uaid в статус unsuccessful. | ||
743 | + | ||
744 | + open tender page by uaid ${tender_uaid} | ||
745 | + open tender form prequalification ${qualification_num} | ||
746 | +# wait until popup is visible | ||
747 | + reject qualifications | ||
748 | +# submit current visible popup | ||
749 | + | ||
750 | + | ||
751 | +Завантажити документ у кваліфікацію | ||
752 | + [Arguments] ${username} ${document} ${tender_uaid} ${qualification_num} | ||
753 | + [Documentation] Завантажити документ, який знаходиться по шляху document, до | ||
754 | + ... кваліфікації під номером qualification_num до тендера tender_uaid. | ||
755 | + | ||
756 | + open tender page by uaid ${tender_uaid} | ||
757 | + | ||
758 | +Скасувати кваліфікацію | ||
759 | + [Arguments] ${username} ${tender_uaid} ${qualification_num} | ||
760 | + [Documentation] Перевести кваліфікацію під номером qualification_num до тендера | ||
761 | + ... tender_uaid в статус cancelled. | ||
762 | + | ||
763 | + open tender page by uaid ${tender_uaid} | ||
764 | + open tender form prequalification ${qualification_num} | ||
765 | +# wait until popup is visible | ||
766 | + cancel qualifications | ||
767 | + | ||
768 | +Затвердити остаточне рішення кваліфікації | ||
769 | + [Arguments] ${username} ${tender_uaid} | ||
770 | + [Documentation] Перевести тендер tender_uaid в статус active.pre-qualification.stand-still. | ||
771 | + | ||
772 | + open tender page by uaid ${tender_uaid} | ||
773 | + wait until element is visible ${prequalification_form_approve_open_btn_locator} 30 | ||
774 | + click visible element ${prequalification_form_approve_open_btn_locator} | ||
775 | + approve the final qualification decision | ||
776 | + | ||
777 | +Перевести тендер на статус очікування обробки мостом | ||
778 | + [Arguments] ${username} ${tender_uaid} | ||
779 | + [Documentation] Перевести тендер tender_uaid в статус active.stage2.waiting. | ||
780 | + | ||
781 | + open tender page by uaid ${tender_uaid} | ||
782 | + confirm-stage2 | ||
783 | + | ||
784 | +Отримати доступ до тендера другого етапу | ||
785 | + [Arguments] ${username} ${tender_uaid} | ||
786 | + [Documentation] Отримати тендер другого етапу по tender id, зберегти його. | ||
787 | + | ||
788 | + open tender page by uaid ${tender_uaid} | ||
789 | + Log to Console ${tender_uaid} | ||
790 | + | ||
791 | +Активувати другий етап | ||
792 | + [Arguments] ${username} ${tender_uaid} | ||
793 | + [Documentation] Перевести тендер tender_uaid в статус active.tendering. | ||
794 | + | ||
795 | + open tender form by uaid ${tender_uaid} | ||
796 | + activate stage 2 | ||
797 | +# fill tender form ${tender_data} | ||
798 | + save tender form and wait synchronization | ||
799 | + | ||
800 | +Отримати тендер другого етапу та зберегти його | ||
801 | + [Arguments] ${username} ${tender_uaid} | ||
802 | + [Documentation] Отримати тендер другого етапу по tender id, зберегти його. | ||
803 | + | ||
804 | + open tender page by uaid ${tender_uaid} | ||
805 | + Log to Console ${tender_uaid} | ||
806 | + | ||
471 | ######################################################################################################################## | 807 | ######################################################################################################################## |
472 | ################################################### END OPEN PROCUREMENT KEYWORDS ############################### | 808 | ################################################### END OPEN PROCUREMENT KEYWORDS ############################### |
473 | ######################################################################################################################## | 809 | ######################################################################################################################## |
474 | 810 | ||
811 | +######################################################################################################################## | ||
812 | +################################################### DOCUMENT KEYWORDS #################################### | ||
813 | +######################################################################################################################## | ||
814 | +Отримати інформацію із документа | ||
815 | + [Arguments] ${username} ${tender_uaid} ${doc_id} ${field} | ||
816 | + [Documentation] Отримати значення поля field документа doc_id з тендера | ||
817 | + ... tender_uaid для перевірки правильності відображення цього поля. | ||
818 | + | ||
819 | + open tender page by uaid ${tender_uaid} | ||
820 | + ${return_value} = Run Keyword If 'title' == '${field}' Отримати інформацію із документа title ${doc_id} | ||
821 | + [return] ${return_value} | ||
822 | + | ||
823 | +Отримати документ | ||
824 | + [Arguments] ${username} ${tender_uaid} ${doc_id} | ||
825 | + [Documentation] Завантажити файл з doc_id в заголовку для тендера tender_uaid в | ||
826 | + ... директорію ${OUTPUT_DIR} для перевірки вмісту цього файлу. | ||
827 | + | ||
828 | + open tender page by uaid ${tender_uaid} | ||
829 | + ${tender_new_doc_locator} = replace string ${tender_new_doc_locator_tpl} %doc_id% ${doc_id} | ||
830 | + wait until page contains element with reloading ${tender_new_doc_locator} | ||
831 | + | ||
832 | + ${file_link} = Execute Javascript return $('.docs__list .docs__item.js-item:first a.doc__link[href*="https://public-docs-sandbox.prozorro.gov.ua"]').val('.docs__list .docs__item.js-item:first a.doc__link[href*="https://public-docs-sandbox.prozorro.gov.ua"]').attr("href") | ||
833 | + ${file_name} = get text ${tender_new_doc_locator} | ||
834 | + download_file ${file_link} ${file_name} ${OUTPUT_DIR} | ||
835 | + [return] ${file_name} | ||
836 | + | ||
837 | + | ||
838 | +Отримати документ до лоту | ||
839 | + [Arguments] ${username} ${tender_uaid} ${lot_id} ${doc_id} | ||
840 | + [Documentation] Завантажити файл з doc_id в заголовку для тендера tender_uaid для лоту lot_id | ||
841 | + ... в директорію ${OUTPUT_DIR} для перевірки вмісту цього файлу. | ||
842 | + | ||
843 | + open tender page by uaid ${tender_uaid} | ||
844 | + ${tender_new_doc_locator} = replace string ${tender_new_doc_locator_tpl} %doc_id% ${doc_id} | ||
845 | + wait until page contains element with reloading ${tender_new_doc_locator} | ||
846 | + ${file_link} = Execute Javascript return $('.docs__list .docs__item.js-item:last a.doc__link[href*="https://public-docs-sandbox.prozorro.gov.ua"]').val('.docs__list .docs__item.js-item:first a.doc__link[href*="https://public-docs-sandbox.prozorro.gov.ua"]').attr("href") | ||
847 | + ${file_name} = get text ${tender_new_doc_locator} | ||
848 | + download_file ${file_link} ${file_name} ${OUTPUT_DIR} | ||
849 | + [return] ${file_name} | ||
850 | + | ||
851 | +Отримати посилання на аукціон для глядача | ||
852 | + [Arguments] ${username} ${tender_uaid} ${lot_id}=Empty | ||
853 | + [Documentation] Отримати посилання на аукціон для тендера tender_uaid (або для лоту з | ||
854 | + ... lot_id в описі для тендера tender_uaid, якщо lot_id != Empty). | ||
855 | + | ||
856 | + open tender page by uaid ${tender_uaid} | ||
857 | + log many ${mode} | ||
858 | + run keyword if "${mode}" not in "belowThreshold" wait until page contains element with reloading ${tender_auction_locator} 10 | ||
859 | + run keyword if "${mode}" in "belowThreshold" wait until page contains element with reloading ${tender_auction_belowThreshold_input_locator} | ||
860 | + ${return_value} = run keyword if "${mode}" not in "belowThreshold below_funders" Execute Javascript return $('#auction-info a[href*="https://auction-sandbox"]').attr("href") | ||
861 | +# ${return_value} = run keyword if "${mode}" in "belowThreshold" Execute Javascript return $('#aside-part-pjax a[href*="https://auction-sandbox"]').attr("href") | ||
862 | + ... ELSE IF '${mode}' in 'belowThreshold below_funders' Execute Javascript return $('#aside-part-pjax a[href*="https://auction-sandbox"]').attr("href") | ||
863 | + [return] ${return_value} | ||
864 | + | ||
865 | +Отримати посилання на аукціон для учасника | ||
866 | + [Arguments] ${username} ${tender_uaid} ${lot_id}=Empty | ||
867 | + [Documentation] Отримати посилання на участь в аукціоні для користувача username для тендера | ||
868 | + ... tender_uaid (або для лоту з lot_id в описі для тендера tender_uaid, якщо lot_id != Empty). | ||
869 | + | ||
870 | + open tender page by uaid ${tender_uaid} | ||
871 | + log many ${mode} | ||
872 | + run keyword if "${mode}" not in "belowThreshold" wait until page contains element with reloading ${tender_auction_locator} 10 | ||
873 | + run keyword if "${mode}" in "belowThreshold" wait until page contains element with reloading ${tender_auction_belowThreshold_input_locator} | ||
874 | + ${return_value} = run keyword if "${mode}" not in "belowThreshold" Execute Javascript return $('#auction-info a[href*="https://auction-sandbox"]').attr("href") | ||
875 | +# ${return_value} = run keyword if "${mode}" in "belowThreshold" Execute Javascript return $('#aside-part-pjax a[href*="https://auction-sandbox"]').attr("href") | ||
876 | + ... ELSE IF '${mode}' in 'belowThreshold' Execute Javascript return $('#aside-part-pjax a[href*="https://auction-sandbox"]').attr("href") | ||
877 | + [return] ${return_value} | ||
878 | +######################################################################################################################## | ||
879 | +################################################### END DOCUMENT KEYWORDS ############################### | ||
880 | +######################################################################################################################## | ||
881 | + | ||
882 | +######################################################################################################################## | ||
883 | +################################################### FUNDERS KEYWORDS ############################### | ||
884 | +######################################################################################################################## | ||
885 | + | ||
886 | +Видалити донора | ||
887 | + [Arguments] ${username} ${tender_uaid} ${funders_index} | ||
888 | + [Documentation] Видалити донора для користувача username для тендера ${tender_uaid} з індексом ${funders_index} | ||
889 | + | ||
890 | + open tender form by uaid ${tender_uaid} | ||
891 | + open popup by btn locator ${plan_form_general_panel_edit_btn_locator} | ||
892 | + click visible element ${tender_form_general_tender_funder_locator} | ||
893 | + submit current visible popup | ||
894 | + save tender form and wait synchronization | ||
895 | + | ||
896 | +Додати донора | ||
897 | + [Arguments] ${username} ${tender_uaid} ${funders_data} | ||
898 | + [Documentation] Додати донора для користувача username для тендера ${tender_uaid} з даними ${funders_data} | ||
899 | + | ||
900 | + open tender form by uaid ${tender_uaid} | ||
901 | + open popup by btn locator ${plan_form_general_panel_edit_btn_locator} | ||
902 | + click visible element ${tender_form_general_tender_funder_locator} | ||
903 | + ${funders} = create list ${funders_data} | ||
904 | + fill tender form funders ${funders} | ||
905 | + submit current visible popup | ||
906 | + save tender form and wait synchronization | ||
907 | + | ||
908 | +######################################################################################################################## | ||
909 | +################################################### END FUNDERS KEYWORDS #################################### | ||
910 | +######################################################################################################################## | ||
911 | +######################################################################################################################## | ||
912 | +################################################### CONTRACTS KEYWORDS ############################### | ||
913 | +######################################################################################################################## | ||
914 | + | ||
915 | +Редагувати угоду | ||
916 | + [Arguments] ${username} ${tender_uaid} ${contract_index} ${field_name} ${amount} | ||
917 | + [Documentation] Редагувати контракт для користувача username для тендера ${tender_uaid} з індексом ${contract_index} | ||
918 | + ... для поля field_name та значення amount. | ||
919 | + | ||
920 | + open tender page by uaid ${tender_uaid} | ||
921 | + edit contract ${contract_index} ${field_name} ${amount} | ||
922 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | ||
923 | + | ||
924 | +Встановити дату підписання угоди | ||
925 | + [Arguments] ${username} ${tender_uaid} ${contract_index} ${dateSigned} | ||
926 | + [Documentation] Редагувати контракт для користувача username для тендера ${tender_uaid} з індексом ${contract_index} | ||
927 | + ... для поля Дата підписання задати значення dateSigned. | ||
928 | + | ||
929 | + open tender page by uaid ${tender_uaid} | ||
930 | +# edit contract ${contract_index} ${dateSigned} ${dateSigned} | ||
931 | + click visible element ${contract_form_0_open_btn_locator} | ||
932 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 5 | ||
933 | + wait until element is visible ${contract_contractform_contract_number_input_locator} 60 | ||
934 | + input datetime to exist visible input ${contract_contractform_date_signed_input_locator} ${dateSigned} | ||
935 | + | ||
936 | + run keyword and ignore error submit form and check result ${contract_contractform_submit_btn_locator} ${contract_contractform_submit_success_msg} ${contract_active_form_open_btn_locator} | ||
937 | + capture page screenshot | ||
938 | + | ||
939 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | ||
940 | + | ||
941 | +Вказати період дії угоди | ||
942 | + [Arguments] ${username} ${tender_uaid} ${contract_index} ${startDate} ${endDate} | ||
943 | + [Documentation] Редагувати контракт для користувача username для тендера ${tender_uaid} з індексом ${contract_index} | ||
944 | + ... для поля Дата підписання задати значення dateSigned. | ||
945 | + | ||
946 | + open tender page by uaid ${tender_uaid} | ||
947 | +# edit contract ${contract_index} ${dateSigned} ${dateSigned} | ||
948 | + click visible element ${contract_form_0_open_btn_locator} | ||
949 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 5 | ||
950 | + wait until element is visible ${contract_contractform_contract_number_input_locator} 60 | ||
951 | + input datetime to exist visible input ${contract_contractform_date_start_input_locator} ${startDate} | ||
952 | + input datetime to exist visible input ${contract_contractform_date_end_input_locator} ${endDate} | ||
953 | + | ||
954 | + run keyword and ignore error submit form and check result ${contract_contractform_submit_btn_locator} ${contract_contractform_submit_success_msg} ${contract_active_form_open_btn_locator} | ||
955 | + capture page screenshot | ||
956 | + | ||
957 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | ||
958 | + | ||
959 | +Завантажити документ в угоду | ||
960 | + [Arguments] ${username} ${document} ${tender_uaid} ${contract_index} | ||
961 | + [Documentation] Редагувати контракт для користувача username для тендера ${tender_uaid} з індексом ${contract_index} | ||
962 | + ... для поля Дата підписання задати значення dateSigned. | ||
963 | + | ||
964 | + open tender page by uaid ${tender_uaid} | ||
965 | +# edit contract ${contract_index} ${dateSigned} ${dateSigned} | ||
966 | + click visible element ${contract_form_0_open_btn_locator} | ||
967 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 5 | ||
968 | + wait until element is visible ${contract_contractform_contract_number_input_locator} 60 | ||
969 | + choose file ${add_file_to_contract_contractform_locator} ${document} | ||
970 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} 60 | ||
971 | + wait until element is visible ${contract_contractform_add_document_type_input_locator} 60 | ||
972 | + capture page screenshot | ||
973 | + Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content select[id*="-document_type"]:last').val('contractSigned').change() | ||
974 | + capture page screenshot | ||
975 | + click visible element ${contract_contractform_add_document_description_btn_locator} | ||
976 | + capture page screenshot | ||
977 | + wait until element is visible ${contract_contractform_add_document_description_input_locator} | ||
978 | + input text to exist visible input ${contract_contractform_add_document_description_input_locator} test2 | ||
979 | + capture page screenshot | ||
980 | + click visible element ${contract_contractform_add_document_close_description_btn_locator} | ||
981 | + capture page screenshot | ||
982 | + | ||
983 | + run keyword and ignore error submit form and check result ${contract_contractform_submit_btn_locator} ${contract_contractform_submit_success_msg} ${contract_active_form_open_btn_locator} | ||
984 | + capture page screenshot | ||
985 | + | ||
986 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | ||
987 | + | ||
988 | +Підтвердити підписання контракту | ||
989 | + [Arguments] ${username} ${tender_uaid} ${contract_index} | ||
990 | + [Documentation] Редагувати контракт для користувача username для тендера ${tender_uaid} з індексом ${contract_index} | ||
991 | + ... для поля Дата підписання задати значення dateSigned. | ||
992 | + | ||
993 | + open tender page by uaid ${tender_uaid} | ||
994 | +# edit contract ${contract_index} ${dateSigned} ${dateSigned} | ||
995 | + click visible element ${contract_active_form_open_btn_locator} | ||
996 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 5 | ||
997 | + wait until element is visible ${contract_contractform_submit_btn_locator} 60 | ||
998 | + | ||
999 | + Execute Javascript $('.fancybox-is-open .fancybox-content button.btn.btn-success').click() | ||
1000 | + Run Keyword And Ignore Error wait until element is visible ${qualification_ecp_form_open_locator} 60 | ||
1001 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | ||
1002 | + capture page screenshot | ||
1003 | + run keyword and ignore error Load Sign | ||
1004 | + capture page screenshot | ||
1005 | + | ||
1006 | + run keyword and ignore error submit form and check result ${contract_contractform_submit_btn_locator} ${contract_contractform_active_submit_success_msg} ${contract_active_form_open_btn_locator} | ||
1007 | + capture page screenshot | ||
1008 | + | ||
1009 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | ||
1010 | + | ||
1011 | +######################################################################################################################## | ||
1012 | +################################################### END CONTRACTS KEYWORDS #################################### | ||
1013 | +######################################################################################################################## |
@@ -11,89 +11,221 @@ fill bid form | @@ -11,89 +11,221 @@ fill bid form | ||
11 | [Arguments] ${tender_uaid} ${bid} ${lots_ids} ${features_ids} | 11 | [Arguments] ${tender_uaid} ${bid} ${lots_ids} ${features_ids} |
12 | [Documentation] Подати цінову пропозицію bid для тендера tender_uaid на лоти lots_ids (якщо lots_ids != None) з неціновими показниками features_ids (якщо features_ids != None). | 12 | [Documentation] Подати цінову пропозицію bid для тендера tender_uaid на лоти lots_ids (якщо lots_ids != None) з неціновими показниками features_ids (якщо features_ids != None). |
13 | 13 | ||
14 | - click visible element ${bid_form_open_btn_locator} | 14 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} |
15 | + ${value} = get from dictionary by keys ${bid.data} value amount | ||
16 | +# ${amount} = run keyword if condition is not none ${value} convert_float_to_string ${bid.data.value.amount} | ||
17 | + run keyword if condition is not none ${value} input number to exist visible input ${bid_form_value_amount_input_locator} ${value} | ||
15 | capture page screenshot | 18 | capture page screenshot |
16 | - wait until popup is visible | ||
17 | - ${value} = get from dictionary by keys ${bid} value amount | ||
18 | - ${amount} = run keyword if condition is not none ${value} convert_float_to_string ${bid.data.value.amount} | ||
19 | - run keyword if condition is not none ${value} input number to exist visible input ${bid_form_value_amount_input_locator} ${amount} | ||
20 | - ${value_yearly_payments_percentage} = get from dictionary by keys ${bid} value yearlyPaymentsPercentage | ||
21 | - ${yearly_payments_percentage} = run keyword if condition is not none ${value_yearly_payments_percentage} convert_float_to_string ${bid.data.value.yearlyPaymentsPercentage} | ||
22 | - run keyword if condition is not none ${value} input number5 to exist visible input ${bid_form_value_yearly_payments_percentage_input_locator} ${yearly_payments_percentage} | ||
23 | - ${contract_duration_years} = get from dictionary by keys ${bid} value contractDuration years | ||
24 | - run keyword if condition is not none ${contract_duration_years} input text to exist visible input ${bid_form_value_contract_duration_years_input_locator} ${bid.data.value.contractDuration.years} | ||
25 | - ${contract_duration_days} = get from dictionary by keys ${bid} value contractDuration days | ||
26 | - run keyword if condition is not none ${contract_duration_days} input text to exist visible input ${bid_form_value_contract_duration_days_input_locator} ${bid.data.value.contractDuration.days} | ||
27 | - ${annual_costs_reduction} = get from dictionary by keys ${bid} value annualCostsReduction | ||
28 | - run keyword if condition is not none ${annual_costs_reduction} Подати цінову пропозицію Esco AnnualCostsReduction ${value.annualCostsReduction} | ||
29 | # ${lots} = get from dictionary by keys ${data} lots | 19 | # ${lots} = get from dictionary by keys ${data} lots |
30 | - run keyword if condition is not none ${lots_ids} fill bid form lots ${bid} | 20 | + run keyword if condition is not none ${lots_ids} fill bid form lots ${bid} ${lots_ids} ${features_ids} |
21 | + capture page screenshot | ||
31 | # run keyword if condition is none ${lots_ids} fill bid form whithout lots ${bid} | 22 | # run keyword if condition is none ${lots_ids} fill bid form whithout lots ${bid} |
32 | # ${features} = get from dictionary by keys ${data} features | 23 | # ${features} = get from dictionary by keys ${data} features |
33 | # run keyword if condition is not none ${features_ids} fill bid form features ${bid} ${tender_form_general_panel_add_feature_btn_locator} | 24 | # run keyword if condition is not none ${features_ids} fill bid form features ${bid} ${tender_form_general_panel_add_feature_btn_locator} |
34 | fill bid required documents_all | 25 | fill bid required documents_all |
35 | - submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator} | 26 | + capture page screenshot |
27 | +## submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator} | ||
36 | 28 | ||
37 | fill bid form lots | 29 | fill bid form lots |
38 | - [Arguments] ${bid} ${lots_ids} ${features_ids} | 30 | + [Arguments] ${bid} ${lots_ids}=${None} ${features_ids}=${None} |
39 | [Documentation] Заповнити лотову цінову пропозицію bid для тендера tender_uaid на лоти lots_ids з неціновими показниками features_ids (якщо features_ids != None). | 31 | [Documentation] Заповнити лотову цінову пропозицію bid для тендера tender_uaid на лоти lots_ids з неціновими показниками features_ids (якщо features_ids != None). |
40 | 32 | ||
41 | - ${lots} = get from dictionary by keys ${bid} lotValues | 33 | + ${lots} = get from dictionary by keys ${bid.data} lotValues |
42 | ${lots_length} = Get Length ${lots} | 34 | ${lots_length} = Get Length ${lots} |
43 | : FOR ${INDEX} IN RANGE 0 ${lots_length} | 35 | : FOR ${INDEX} IN RANGE 0 ${lots_length} |
44 | - \ ${amount} = convert_float_to_string ${bid.data.value.amount} | ||
45 | - \ run keyword and ignore error input number to exist visible input ${bid_form_value_amount_input_locator} ${amount} | ||
46 | - \ ${self_qualified} = get from dictionary by keys ${bid} selfQualified | ||
47 | - \ run keyword and ignore error ${self_qualified} click visible element ${bid_form_value_self_qualified_input_locator} | ||
48 | - \ ${self_eligible} = get from dictionary by keys ${bid} selfEligible | 36 | + \ Run Keyword And Ignore Error run keyword if condition is not none ${lots} input number to exist visible input ${bid_form_value_amount_input_locator} ${lots[${INDEX}].value.amount} |
37 | + \ capture page screenshot | ||
38 | + \ ${self_qualified} = get from dictionary by keys ${bid.data} selfQualified | ||
39 | + \ run keyword if condition is not none ${self_qualified} click visible element ${bid_form_value_self_qualified_input_locator} | ||
40 | + \ capture page screenshot | ||
41 | + \ ${self_eligible} = get from dictionary by keys ${bid.data} selfEligible | ||
49 | \ run keyword if condition is not none ${self_eligible} click visible element ${bid_form_value_self_eligible_input_locator} | 42 | \ run keyword if condition is not none ${self_eligible} click visible element ${bid_form_value_self_eligible_input_locator} |
50 | - \ run keyword if condition is not none ${features_ids} fill bid form features ${bid.data.parameters} | 43 | + \ capture page screenshot |
44 | + \ ${feature_id} = get from dictionary by keys ${bid.data} parameters | ||
45 | + \ run keyword if condition is not none ${feature_id} fill bid form features ${feature_id} | ||
46 | + \ capture page screenshot | ||
47 | + \ run keyword if '${mode}' in 'open_esco' fill bid form lots Esco ${bid.data.lotValues} | ||
51 | 48 | ||
52 | fill bid form features | 49 | fill bid form features |
53 | [Arguments] ${bid_parameters} | 50 | [Arguments] ${bid_parameters} |
54 | [Documentation] Заповнити нецінові показники цінової пропозиції. | 51 | [Documentation] Заповнити нецінові показники цінової пропозиції. |
55 | 52 | ||
53 | + log many ${bid_parameters} | ||
56 | ${features_length} = Get Length ${bid_parameters} | 54 | ${features_length} = Get Length ${bid_parameters} |
57 | : FOR ${INDEX} IN RANGE 0 ${features_length} | 55 | : FOR ${INDEX} IN RANGE 0 ${features_length} |
58 | - \ ${bid_form_feature_input_locator} replace string ${bid_form_feature_input_locator_tpl} %title% ${features[${INDEX}]['code']} | 56 | + \ ${bid_form_feature_input_locator} replace string ${bid_form_feature_input_locator_tpl} %title% ${bid_parameters[${INDEX}]['code']} |
57 | + \ ${value_enum} = convert float to string ${bid_parameters[${INDEX}]['value']} | ||
58 | + \ ${bid_form_feature_value_input_locator} set variable ${bid_form_feature_input_locator} ${bid_form_feature_value_input_locator_tpl} | ||
59 | + \ ${bid_form_feature_value_input_locator} replace string ${bid_form_feature_value_input_locator} _ ' ' | ||
60 | + #\ ${bid_form_feature_value_input_locator} replace string ${bid_form_feature_value_input_locator} %value% ${bid_parameters[${INDEX}]['value']} | ||
61 | + \ ${bid_form_feature_value_input_locator} replace string ${bid_form_feature_value_input_locator} %value% ${value_enum} | ||
59 | \ Run Keyword And Ignore Error click visible element ${bid_form_feature_input_locator} | 62 | \ Run Keyword And Ignore Error click visible element ${bid_form_feature_input_locator} |
60 | - \ Run Keyword And Ignore Error Select From List By Label ${bid_form_feature_input_locator} ${features[${INDEX}]['value']} | ||
61 | - | ||
62 | -Подати цінову пропозицію Esco AnnualCostsReduction | 63 | + \ capture page screenshot |
64 | + \ Run Keyword And Ignore Error click visible element ${bid_form_feature_value_input_locator} | ||
65 | + \ capture page screenshot | ||
66 | + \ Run Keyword And Ignore Error click visible element jquery=select.select2-hidden-accessible:nth(${INDEX}) [data-weight-source="0"] | ||
67 | + #\ Run Keyword And Ignore Error click visible element ${select.select2-hidden-accessible:nth(${INDEX}) [data-weight-source="0"]} | ||
68 | + \ capture page screenshot | ||
69 | + | ||
70 | +fill bid form lots Esco | ||
71 | + [Arguments] ${values} | ||
72 | + [Documentation] Заповнити цінову пропозицію Esco | ||
73 | + | ||
74 | + log many ${values} | ||
75 | + ${values_length} = Get Length ${values} | ||
76 | + : FOR ${INDEX} IN RANGE 0 ${values_length} | ||
77 | + \ input number to exist visible input ${bid_form_value_yearly_payments_percentage_input_locator} ${values[${INDEX}].value.yearlyPaymentsPercentage} | ||
78 | + \ capture page screenshot | ||
79 | + \ input text to exist visible input ${bid_form_value_contract_duration_years_input_locator} ${values[${INDEX}].value.contractDuration.years} | ||
80 | + \ capture page screenshot | ||
81 | + \ input text to exist visible input ${bid_form_value_contract_duration_days_input_locator} ${values[${INDEX}].value.contractDuration.days} | ||
82 | + \ capture page screenshot | ||
83 | + \ fill bid form lots Esco AnnualCostsReduction ${values[${INDEX}].value.annualCostsReduction} | ||
84 | + \ capture page screenshot | ||
85 | + | ||
86 | +fill bid form lots Esco AnnualCostsReduction | ||
63 | [Arguments] ${values} | 87 | [Arguments] ${values} |
64 | [Documentation] Заповнити цінову пропозицію Esco (параметр AnnualCostsReduction). | 88 | [Documentation] Заповнити цінову пропозицію Esco (параметр AnnualCostsReduction). |
65 | 89 | ||
66 | - ${input_index } = set variable 1 | 90 | + ${input_index} = set variable 1 |
67 | : FOR ${value} IN @{values} | 91 | : FOR ${value} IN @{values} |
68 | - \ ${bid_form_value_annual_costs_reduction_input_locator} replace string ${bid_form_value_annual_costs_reduction_input_locator_tpl} %index% ${input_index} | ||
69 | - \ input float ${bid_form_value_annual_costs_reduction_input_locator} ${value} | 92 | + \ ${input_index_tmp}= convert to string ${input_index} |
93 | + \ ${bid_form_value_annual_costs_reduction_input_locator} replace string ${bid_form_value_annual_costs_reduction_input_locator_tpl} %index% ${input_index_tmp} | ||
94 | + \ input number to exist visible input ${bid_form_value_annual_costs_reduction_input_locator} ${value} | ||
70 | \ ${input_index} = evaluate ${input_index} + 1 | 95 | \ ${input_index} = evaluate ${input_index} + 1 |
71 | 96 | ||
72 | fill bid required documents_all | 97 | fill bid required documents_all |
73 | - [Arguments] ${values} | 98 | + [Arguments] |
74 | [Documentation] Додати фейковий документ до цінової пропозиції при створенні. | 99 | [Documentation] Додати фейковий документ до цінової пропозиції при створенні. |
75 | 100 | ||
76 | ${file_path} ${file_name} ${file_content} = create_fake_doc | 101 | ${file_path} ${file_name} ${file_content} = create_fake_doc |
77 | - click visible element ${bid_form_add_document_all_btn_locator} | ||
78 | - choose file ${add_file_to_form_locator} ${file_path} | ||
79 | - wait until element is visible ${bid_form_add_document_type_input_locator} ${waiting_timeout} ${waiting_error} | 102 | +# click visible element and wait until page contains element ${open_form_add_doc_lot_btn_locator} jquery=.modal.modal-form.js-form-popup.fancybox-content |
103 | + #click visible element ${bid_form_add_document_all_btn_locator} | ||
104 | + capture page screenshot | ||
105 | +### execute javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents .js-upload-documents input[type$="file"]:first').click() | ||
106 | + capture page screenshot | ||
107 | + choose file ${add_file_to_bid_form_locator} ${file_path} | ||
108 | + capture page screenshot | ||
109 | + wait until element is visible ${bid_form_add_document_type_input_locator} | ||
80 | # submit current visible popup | 110 | # submit current visible popup |
81 | Run Keyword And Ignore Error Select From List By Value ${bid_form_add_document_type_input_locator} qualificationDocuments | 111 | Run Keyword And Ignore Error Select From List By Value ${bid_form_add_document_type_input_locator} qualificationDocuments |
82 | click visible element ${bid_form_add_document_description_btn_locator} | 112 | click visible element ${bid_form_add_document_description_btn_locator} |
83 | - wait until element is visible ${bid_form_add_document_description_input_locator} ${waiting_timeout} ${waiting_error} | 113 | + capture page screenshot |
114 | + wait until element is visible ${bid_form_add_document_description_input_locator} | ||
84 | input text to exist visible input ${bid_form_add_document_description_input_locator} test2 | 115 | input text to exist visible input ${bid_form_add_document_description_input_locator} test2 |
85 | click visible element ${bid_form_add_document_close_description_btn_locator} | 116 | click visible element ${bid_form_add_document_close_description_btn_locator} |
117 | + capture page screenshot | ||
86 | 118 | ||
87 | fill bid form edit | 119 | fill bid form edit |
88 | - [Arguments] ${tender_uaid} ${fieldname} ${fieldvalue} | 120 | + [Arguments] ${fieldname} ${fieldvalue} |
89 | [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача username для тендера tender_uaid. | 121 | [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача username для тендера tender_uaid. |
90 | 122 | ||
91 | - click visible element ${bid_form_open_btn_locator} | 123 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} |
124 | + Run Keyword If '${fieldname}' == 'lotValues[0].value.amount' or '${fieldname}' == 'value.amount' and '${mode}' != 'open_esco' input number to exist visible input ${bid_form_value_amount_input_locator} ${fieldvalue} | ||
125 | +# submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | ||
126 | + | ||
127 | + | ||
128 | +add document to bid | ||
129 | + [Arguments] ${path} ${doc_type} ${doc_name} | ||
130 | + #=documents | ||
131 | + [Documentation] Завантажити документ типу doc_type, який знаходиться за шляхом path, | ||
132 | + ... до цінової пропозиції користувача username для тендера tender_uaid. | ||
133 | + | ||
134 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | ||
135 | +### execute javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents .js-upload-documents input[type$="file"]:first').click() | ||
136 | + choose file ${add_file_to_bid_form_locator} ${path} | ||
137 | + run keyword and ignore error wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | ||
138 | + wait until element is visible ${bid_form_add_document_type_input_locator} | ||
139 | +# submit current visible popup | ||
140 | + log many ${doc_type} | ||
141 | +# run keyword if '${doc_type}' == 'documents' Select From List By Value ${bid_form_add_document_type_input_locator} qualificationDocuments | ||
142 | +# ... else Select From List By Value ${bid_form_add_document_type_input_locator} ${doc_type} | ||
143 | + Run Keyword And Ignore Error select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | ||
144 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' and "${mode}" not in "openeu open_competitive_dialogue" select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | ||
145 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' and "${mode}" in "openeu open_competitive_dialogue" select from visible list by value ${bid_form_add_document_type_input_locator} qualificationDocuments | ||
146 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'financial_documents' select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | ||
147 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'qualification_documents' select from visible list by value ${bid_form_add_document_type_input_locator} qualificationDocuments | ||
148 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'eligibility_documents' select from visible list by value ${bid_form_add_document_type_input_locator} eligibilityDocuments | ||
149 | + capture page screenshot | ||
150 | + | ||
151 | + Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('commercialProposal').change() | ||
152 | + capture page screenshot | ||
153 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' and "${mode}" not in "openeu open_competitive_dialogue" Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('commercialProposal').change() | ||
154 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' and "${mode}" in "openeu open_competitive_dialogue" Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('qualificationDocuments').change() | ||
155 | + capture page screenshot | ||
156 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'financial_documents' Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('commercialProposal').change() | ||
157 | + capture page screenshot | ||
158 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'qualification_documents' Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('qualificationDocuments').change() | ||
159 | + capture page screenshot | ||
160 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'eligibility_documents' Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('eligibilityDocuments').change() | ||
161 | +# Run Keyword And Ignore Error select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | ||
162 | +# Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | ||
163 | +# Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'financial_documents' select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | ||
164 | +# Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'qualification_documents' select from visible list by value ${bid_form_add_document_type_input_locator} qualificationDocuments | ||
165 | +# Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'eligibility_documents' select from visible list by value ${bid_form_add_document_type_input_locator} eligibilityDocuments | ||
166 | + capture page screenshot | ||
167 | + | ||
168 | + click visible element ${bid_form_add_document_description_btn_locator} | ||
169 | + wait until element is visible ${bid_form_add_document_description_input_locator} | ||
170 | + input text to exist visible input ${bid_form_add_document_description_input_locator} test2 | ||
171 | + click visible element ${bid_form_add_document_close_description_btn_locator} | ||
172 | + | ||
173 | +document to bid edit | ||
174 | + [Arguments] ${path} ${doc_type}=documents | ||
175 | + [Documentation] Змінити документ з doc_id в описі в пропозиції користувача username для | ||
176 | + ... тендера tender_uaid на документ, який знаходиться по шляху path. | ||
177 | + | ||
178 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | ||
179 | +# click visible element ${bid_form_edit_document_all_btn_locator} | ||
180 | + capture page screenshot | ||
181 | + choose file ${bid_form_edit_document_all_btn_locator} ${path} | ||
182 | + capture page screenshot | ||
183 | +# wait until element is visible ${bid_form_add_document_type_input_locator} | ||
184 | + | ||
185 | +fill bid form edit document | ||
186 | + [Arguments] ${doc_data} ${doc_id} | ||
187 | + [Documentation] Змінити тип документа з doc_id в заголовку в пропозиції користувача | ||
188 | + ... username для тендера tender_uaid. Дані про новий тип документа знаходяться в doc_data. | ||
189 | + | ||
190 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | ||
191 | + ##### BOF - TMP for confidentiality##### | ||
192 | + execute javascript $('#tender-bid-form .documents-dynamic-forms-wrapper:last [href$="#edit"]:last').click() | ||
193 | +# click visible element $('#tender-bid-form .documents-dynamic-forms-wrapper:last [href$="#edit"]:last').click() | ||
194 | + set element scroll into view ${bid_form_add_document_close_description_btn_locator} | ||
195 | + capture page screenshot | ||
196 | + wait until element is visible ${bid_form_add_document_description_input_locator} 60 | ||
197 | + execute javascript $('#tender-bid-form .documents-dynamic-forms-wrapper:last .popover.fade.top.in [id$="-confidentiality"]').click() | ||
198 | +# click visible element ${bid_form_add_document_confidentiality_input_locator} | ||
199 | + capture page screenshot | ||
200 | + click visible element ${bid_form_add_document_close_description_btn_locator} | ||
201 | + capture page screenshot | ||
202 | + ##### EOF - TMP ##### | ||
203 | + | ||
204 | +get bid information | ||
205 | + [Arguments] ${field} | ||
206 | + [Documentation] Отримати значення поля field пропозиції користувача | ||
207 | + ... username для тендера tender_uaid. | ||
208 | + | ||
209 | + capture page screenshot | ||
210 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | ||
211 | +# click visible element ${bid_form_open_btn_locator} | ||
212 | + capture page screenshot | ||
92 | wait until popup is visible | 213 | wait until popup is visible |
93 | - Run Keyword If '${fieldname}' == 'lotValues[0].value.amount' and '${mode}' != 'esco' Run Keywords | ||
94 | - ... ${amount} = convert_float_to_string ${fieldvalue} | ||
95 | - ... input number to exist visible input ${bid_form_value_amount_input_locator} ${amount} | ||
96 | - submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | 214 | +# ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} |
215 | +# wait until page contains element with reloading ${question_open_form_answer_locator} | ||
216 | + capture page screenshot | ||
217 | + #${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' get value by locator on opened page ${bid_lotValues_0_value_amount_value_locator} | ||
218 | + ${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' get value by locator on opened page ${bid_lotValues_0_value_amount_value_locator} | ||
219 | + ... ELSE Run Keyword If 'status' == '${field}' get_text ${question_answer_value_locator} | ||
220 | + ... ELSE Run Keyword If 'value.amount' == '${field}' get value by locator on opened page ${bid_form_value_amount_input_locator} | ||
221 | +# submit current visible popup | ||
222 | + ${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' or 'value.amount' == '${field}' Convert To Number ${return_value} | ||
223 | + [Return] ${return_value} | ||
97 | 224 | ||
225 | +fill bid form remove | ||
226 | + [Documentation] Змінити статус цінової пропозиції для тендера tender_uaid | ||
227 | + ... користувача username на cancelled. | ||
98 | 228 | ||
229 | + click visible element ${bid_form_remove_btn_locator} | ||
230 | + submit form and check result ${alert_opened_close_bid_btn_locator} ${bid_form_submit_remove_success_msg} ${tender_created_checker_element_locator} | ||
99 | 231 |
@@ -2,9 +2,14 @@ | @@ -2,9 +2,14 @@ | ||
2 | 2 | ||
3 | #bids | 3 | #bids |
4 | ${bid_form_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/bid"] | 4 | ${bid_form_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/bid"] |
5 | +${bid_form_remove_btn_locator} = jquery=#aside-part-pjax a[href*="#bid-delete"] | ||
5 | ${bid_form_submit_success_msg} = Пропозиція створена | 6 | ${bid_form_submit_success_msg} = Пропозиція створена |
6 | ${bid_form_submit_edit_success_msg} = Пропозиція відредагована | 7 | ${bid_form_submit_edit_success_msg} = Пропозиція відредагована |
8 | +${bid_form_submit_remove_success_msg} = Ви впевнені що бажаєте видали свою пропозицію? | ||
9 | +${alert_opened_close_bid_btn_locator} = jquery=.animated-content .js-btn-confirm | ||
7 | ${bid_form_feature_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content select[id*="%title%-enum"] | 10 | ${bid_form_feature_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content select[id*="%title%-enum"] |
11 | +${bid_form_feature_value_input_locator_tpl} = option[data-weight-source*="%value%"] | ||
12 | +#${bid_form_feature_value_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content select[id*="%title%-enum"] option[data-weight-source*="%value%"] | ||
8 | ${bid_form_value_amount_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-value_amount"] | 13 | ${bid_form_value_amount_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-value_amount"] |
9 | ${bid_form_value_subcontracting_details_input_locator} = jquery=.fancybox-is-open .fancybox-content textarea[id*="-subcontracting_details"] | 14 | ${bid_form_value_subcontracting_details_input_locator} = jquery=.fancybox-is-open .fancybox-content textarea[id*="-subcontracting_details"] |
10 | ${bid_form_value_self_eligible_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-self_eligible"] | 15 | ${bid_form_value_self_eligible_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-self_eligible"] |
@@ -12,12 +17,20 @@ ${bid_form_value_self_qualified_input_locator} = jquery=.fanc | @@ -12,12 +17,20 @@ ${bid_form_value_self_qualified_input_locator} = jquery=.fanc | ||
12 | ${bid_form_value_yearly_payments_percentage_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-yearly_payments_percentage"] | 17 | ${bid_form_value_yearly_payments_percentage_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-yearly_payments_percentage"] |
13 | ${bid_form_value_contract_duration_years_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_years"] | 18 | ${bid_form_value_contract_duration_years_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_years"] |
14 | ${bid_form_value_contract_duration_days_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_days"] | 19 | ${bid_form_value_contract_duration_days_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_days"] |
15 | -${bid_form_value_annual_costs_reduction_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content input[id*="-annual_costs_reduction_%index%"] | 20 | +${bid_form_value_annual_costs_reduction_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content input[name*="[annual_costs_reduction_%index%]"] |
16 | 21 | ||
17 | -${bid_form_add_document_all_btn_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents input[type$="file"] | ||
18 | -${bid_form_add_document_type_input_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"] | ||
19 | -${bid_form_add_document_description_btn_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents [href$="#edit"] | ||
20 | -${bid_form_add_document_description_input_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents .popover.fade.top.in textarea[id*="-description"].form-control | ||
21 | -${bid_form_add_document_close_description_btn_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents .popover.fade.top.in [href$="#close"] | 22 | +${add_file_to_bid_all_form_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .js-upload-documents |
23 | +${add_file_to_bid_form_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .js-upload-documents input[type$="file"]:first | ||
24 | +${bid_form_add_document_all_btn_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .js-upload-documents input[type$="file"]:first | ||
25 | +${bid_form_add_document_type_input_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last select[id*="-document_type"]:last | ||
26 | +${bid_form_add_document_description_btn_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last [href$="#edit"]:last | ||
27 | +${bid_form_add_document_description_input_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .popover.fade.top.in textarea[id*="-description"].form-control | ||
28 | +${bid_form_add_document_close_description_btn_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .popover.fade.top.in [href$="#close"] | ||
29 | +${bid_form_add_document_confidentiality_input_locator} = jquery=#tender-bid-form .documents-dynamic-forms-wrapper:last .popover.fade.top.in [id$="-confidentiality"] | ||
22 | ${bid_form_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success | 30 | ${bid_form_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success |
31 | +${bid_form_edit_document_all_btn_locator} = jquery=.form-documents-group .tab-content .item-wrapper.js-item:last a[href*="#reupload"] | ||
23 | 32 | ||
33 | +${bid_lotValues_0_value_amount_value_locator} = jquery=.fancybox-slide .modal.fancybox-content #tender-bid-form .tab-content .active.js-lot-tab .js-amount-weight-wrapper .input-group .js-amount-input | ||
34 | +${bid_lotValues_0_value_amount_value_locator_type} = float | ||
35 | + | ||
36 | +${bid_popup_locator} = jquery=.fancybox-slide .modal.fancybox-content |
@@ -10,25 +10,296 @@ Resource playtender_claim | @@ -10,25 +10,296 @@ Resource playtender_claim | ||
10 | [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${claim} ${doc_name} | 10 | [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${claim} ${doc_name} |
11 | [Documentation] Створити вимогу з claim в описі для тендера tender_uaid. | 11 | [Documentation] Створити вимогу з claim в описі для тендера tender_uaid. |
12 | 12 | ||
13 | + open tender page by uaid ${tender_uaid} | ||
14 | + click visible element ${claim_page_open_btn_locator} | ||
15 | + capture page screenshot | ||
16 | +# wait until page contains element with reloading ${claim_form_open_btn_locator} | ||
17 | +# click visible element and wait until page contains element ${claim_page_open_btn_locator} ${claim_form_open_btn_locator} | ||
18 | +## submit form and check result ${claim_form_open_btn_locator} ${None} ${popup_opened_content_locator} | ||
19 | + wait until page contains element with reloading ${claim_form_open_btn_locator} | ||
13 | click visible element ${claim_form_open_btn_locator} | 20 | click visible element ${claim_form_open_btn_locator} |
14 | - wait until popup is visible | 21 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 |
22 | + wait until element is visible ${claim_form_complaintform_submit_btn_locator} 60 | ||
23 | +## wait until element is visible ${popup_opened_content_locator} 60 | ||
24 | + capture page screenshot | ||
25 | +# wait until popup is visible | ||
15 | input text to exist visible input ${claim_form_complaintform_title_input_locator} ${claim.data.title} | 26 | input text to exist visible input ${claim_form_complaintform_title_input_locator} ${claim.data.title} |
27 | + capture page screenshot | ||
16 | input text to exist visible input ${claim_form_complaintform_description_input_locator} ${claim.data.description} | 28 | input text to exist visible input ${claim_form_complaintform_description_input_locator} ${claim.data.description} |
29 | + capture page screenshot | ||
17 | Run Keyword And Ignore Error Run Keyword If '${type}' == 'tender' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Закупівля | 30 | Run Keyword And Ignore Error Run Keyword If '${type}' == 'tender' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Закупівля |
31 | + capture page screenshot | ||
18 | Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Лот | 32 | Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Лот |
33 | + capture page screenshot | ||
19 | Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_input_locator} | 34 | Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_input_locator} |
20 | ${claim_form_complaintform_related_lot_select_locator} = Run Keyword If '${type}' == 'lot' replace string ${claim_form_complaintform_related_lot_input_locator_tpl} %type_id% ${type_id} | 35 | ${claim_form_complaintform_related_lot_select_locator} = Run Keyword If '${type}' == 'lot' replace string ${claim_form_complaintform_related_lot_input_locator_tpl} %type_id% ${type_id} |
21 | Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_select_locator} | 36 | Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_select_locator} |
22 | - Run Keyword And Ignore Error Select From List By Label ${claim_form_complaintform_complaintform_type_input_locator} Вимога | ||
23 | - Run Keyword If '${doc_name}' != 'null' click visible element ${claim_form_complaintform_document_btn_locator} | 37 | + capture page screenshot |
38 | + Run Keyword And Ignore Error Select From List By Label ${claim_form_complaintform_complaintform_type_input_locator} Вимога | ||
39 | + Run Keyword And Ignore Error Run Keyword If '${type}' == 'winner_complaint' Select From List By Label ${claim_form_complaintform_complaintform_type_input_locator} Скарга | ||
40 | + | ||
41 | + capture page screenshot | ||
42 | +### Run Keyword If '${doc_name}' != 'null' click visible element ${claim_form_complaintform_document_btn_locator} | ||
43 | + capture page screenshot | ||
24 | Run Keyword If '${doc_name}' != 'null' choose file ${add_file_to_form_locator} ${doc_name} | 44 | Run Keyword If '${doc_name}' != 'null' choose file ${add_file_to_form_locator} ${doc_name} |
45 | + capture page screenshot | ||
25 | Run Keyword If '${doc_name}' != 'null' wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | 46 | Run Keyword If '${doc_name}' != 'null' wait until page does not contain element ${popup_dynamic_form_loading_element_locator} |
47 | + capture page screenshot | ||
26 | # Run Keyword If '${doc_name}' != 'null' submit current visible popup | 48 | # Run Keyword If '${doc_name}' != 'null' submit current visible popup |
27 | - submit form and check result ${claim_form_complaintform_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator} | 49 | + submit form and check result ${claim_form_complaintform_submit_btn_locator} ${claim_form_submit_success_msg} ${tender_created_checker_element_locator} |
28 | # Функция ожидания claim_uaid_text_locator соответствующей вимоги | 50 | # Функция ожидания claim_uaid_text_locator соответствующей вимоги |
29 | - click visible element ${claim_form_open_btn_locator} | ||
30 | - ${return_value}= Get Element Attribute ${claim_uaid_text_locator} | 51 | +# click visible element ${claim_form_open_btn_locator} |
52 | + reload page | ||
53 | + wait until page does not contain element with reloading ${claim_sync_element_locator} 60 | ||
54 | + wait until page contains element with reloading ${claim_uaid_text_locator} | ||
55 | + ${return_value}= get text ${claim_uaid_text_locator} | ||
31 | ${return_value}= Convert To String ${return_value} | 56 | ${return_value}= Convert To String ${return_value} |
32 | [return] ${return_value} | 57 | [return] ${return_value} |
33 | 58 | ||
59 | +Скасувати вимогу | ||
60 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${cancellation_data} ${award_index} | ||
61 | + [Documentation] Перевести вимогу complaintID для тендера tender_uaid у статус cancelled, | ||
62 | + ... використовуючи при цьому дані confirmation_data. | ||
63 | + | ||
64 | + open tender page by uaid ${tender_uaid} | ||
65 | + click visible element and wait until page contains element ${claim_page_open_btn_locator} ${claim_form_open_btn_locator} | ||
66 | + ${claim_open_form_answer_locator} = replace string ${claim_open_form_answer_btn_locator_tpl} %title% ${complaintID} | ||
67 | + wait until page contains element with reloading ${claim_open_form_answer_locator} | ||
68 | + ${claim_form_cancel_open_btn_locator} = replace string ${claim_form_cancel_open_btn_locator_tpl} %complaint_id% ${complaintID} | ||
69 | + wait until page contains element with reloading ${claim_form_cancel_open_btn_locator} | ||
70 | + click visible element ${claim_form_cancel_open_btn_locator} | ||
71 | +# submit form and check result ${claim_form_cancel_open_btn_locator} ${None} ${popup_opened_content_locator} | ||
72 | + capture page screenshot | ||
73 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | ||
74 | + wait until element is visible ${claim_form_cancellation_reason_input_locator} 60 | ||
75 | +## wait until element is visible ${popup_opened_content_locator} 60 | ||
76 | + capture page screenshot | ||
77 | +# wait until popup is visible | ||
78 | + input text to exist visible input ${claim_form_cancellation_reason_input_locator} ${cancellation_data.data.cancellationReason} | ||
79 | + capture page screenshot | ||
80 | + submit form and check result ${claim_form_complaintform_submit_btn_locator} ${claim_cancel_submit_success_msg} ${tender_created_checker_element_locator} | ||
81 | + | ||
82 | +get claim information | ||
83 | + [Arguments] ${tender_uaid} ${complaintID} ${field_name} ${award_index}=${None} | ||
84 | + [Documentation] Отримати значення поля field_name скарги/вимоги complaintID про | ||
85 | + ... виправлення умов закупівлі/лоту для тендера tender_uaid (скарги/вимоги про | ||
86 | + ... виправлення визначення переможця під номером award_index, якщо award_index != None). | ||
87 | + | ||
88 | + open tender page by uaid ${tender_uaid} | ||
89 | + click visible element ${claim_page_open_btn_locator} | ||
90 | + capture page screenshot | ||
91 | + ${claim_open_form_answer_locator} = replace string ${claim_open_form_answer_btn_locator_tpl} %title% ${complaintID} | ||
92 | + wait until page contains element with reloading ${claim_open_form_answer_locator} | ||
93 | + capture page screenshot | ||
94 | + | ||
95 | + ${claim_wrapper_complain_id_value_locator} = set variable ${claim_open_form_answer_locator} | ||
96 | +# ${claim_wrapper_complaint_id_value_locator} = replace string ${claim_wrapper_complain_id_value_locator_tpl} %complain_id% ${complaintID} | ||
97 | + ${claim_description_value_locator} = Run Keyword If 'description' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_description_value_locator} | ||
98 | + ${claim_title_value_locator} = Run Keyword If 'title' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_title_value_locator} | ||
99 | + ${claim_complain_id_value_locator} = Run Keyword If 'complaintID' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_complain_id_value_locator} | ||
100 | + ${claim_status_value_locator} = Run Keyword If 'status' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_status_value_locator} | ||
101 | + ${claim_resolution_type_value_locator} = Run Keyword If 'resolutionType' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_resolution_type_value_locator} | ||
102 | + ${claim_resolution_value_locator} = Run Keyword If 'resolution' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_resolution_value_locator} | ||
103 | + ${claim_satisfied_value_locator} = Run Keyword If 'satisfied' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_satisfied_value_locator} | ||
104 | + ${claim_related_lot_value_locator} = Run Keyword If 'relatedLot' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_related_lot_value_locator} | ||
105 | + ${claim_cancellation_reason_value_locator} = Run Keyword If 'cancellationReason' == '${field_name}' set variable ${claim_wrapper_complain_id_value_locator} ${claim_cancellation_reason_value_locator} | ||
106 | + | ||
107 | + Run Keyword If "${TEST_NAME}" == "Можливість відповісти на вимогу про виправлення умов закупівлі" Wait Until Keyword Succeeds 420 s 15 s Wait For Answered ${complaintID} ${claim_wrapper_complain_id_value_locator} | ||
108 | + Run Keyword If "${TEST_NAME}" == "Можливість відповісти на вимогу про виправлення умов лоту" Wait Until Keyword Succeeds 420 s 15 s Wait For Answered ${complaintID} ${claim_wrapper_complain_id_value_locator} | ||
109 | + Run Keyword If "Відображення статусу 'answered'" in "${TEST_NAME}" Wait Until Keyword Succeeds 300 s 15 s Wait For Answered ${complaintID} ${claim_wrapper_complain_id_value_locator} | ||
110 | + Run Keyword If "${TEST_NAME}" == "Відображення задоволення вимоги" Wait Until Keyword Succeeds 300 s 15 s Wait For Satisfied ${complaintID} ${claim_wrapper_complain_id_value_locator} | ||
111 | + Run Keyword If "${TEST_NAME}" == "Відображення незадоволення вимоги" Wait Until Keyword Succeeds 300 s 15 s Wait For Satisfied ${complaintID} ${claim_wrapper_complain_id_value_locator} | ||
112 | + Run Keyword If "Відображення статусу 'resolved'" in "${TEST_NAME}" Wait Until Keyword Succeeds 300 s 15 s Wait For Resolved ${complaintID} ${claim_wrapper_complain_id_value_locator} | ||
113 | + Run Keyword If "Відображення статусу 'cancelled'" in "${TEST_NAME}" Wait Until Keyword Succeeds 300 s 15 s Wait For Cancelled ${complaintID} ${claim_wrapper_complain_id_value_locator} | ||
114 | + Run Keyword If "Відображення статусу 'ignored'" in "${TEST_NAME}" Wait Until Keyword Succeeds 300 s 15 s Wait For Ignored ${complaintID} ${claim_wrapper_complain_id_value_locator} | ||
115 | + Run Keyword If "Відображення статусу 'stopping'" in "${TEST_NAME}" Wait Until Keyword Succeeds 300 s 15 s Wait For Stopping ${complaintID} ${claim_wrapper_complain_id_value_locator} | ||
116 | + Run Keyword If "Відображення статусу 'pending'" in "${TEST_NAME}" Wait Until Keyword Succeeds 300 s 15 s Wait For Pending ${complaintID} ${claim_wrapper_complain_id_value_locator} | ||
117 | + Run Keyword And Ignore Error Run Keyword If "Відображення кінцевих статусів двох останніх вимог" in "${TEST_NAME}" Wait Until Keyword Succeeds 30 s 5 s Wait For Invalid ${complaintID} ${claim_wrapper_complain_id_value_locator} | ||
118 | + Run Keyword And Ignore Error Run Keyword If "Відображення кінцевих статусів двох останніх вимог" in "${TEST_NAME}" Wait Until Keyword Succeeds 30 s 5 s Wait For Declined ${complaintID} ${claim_wrapper_complain_id_value_locator} | ||
119 | + | ||
120 | + Run Keyword And Return If 'description' == '${field_name}' get value by locator on opened page ${claim_description_value_locator} | ||
121 | + Run Keyword And Return If 'complaintID' == '${field_name}' get value by locator on opened page ${claim_complain_id_value_locator} | ||
122 | + Run Keyword And Return If 'title' == '${field_name}' get value by locator on opened page ${claim_title_value_locator} | ||
123 | + Run Keyword And Return If 'status' == '${field_name}' get value by locator on opened page ${claim_status_value_locator} | ||
124 | + Run Keyword And Return If 'resolutionType' == '${field_name}' get value by locator on opened page ${claim_resolution_type_value_locator} | ||
125 | + Run Keyword And Return If 'resolution' == '${field_name}' get value by locator on opened page ${claim_resolution_value_locator} | ||
126 | + Run Keyword And Return If 'satisfied' == '${field_name}' Отримати інформацію із скарги satisfied ${claim_satisfied_value_locator} | ||
127 | + Run Keyword And Return If 'relatedLot' == '${field_name}' get value by locator on opened page ${claim_related_lot_value_locator} | ||
128 | + Run Keyword And Return If 'cancellationReason' == '${field_name}' get value by locator on opened page ${claim_cancellation_reason_value_locator} | ||
129 | + | ||
130 | +Отримати інформацію із документа скарги title | ||
131 | + [Arguments] ${complaintID} ${doc_id} | ||
132 | + [Documentation] Отримати значення поля title з документу з doc_id в описі для скарги для тендера. | ||
133 | + | ||
134 | + click visible element ${claim_page_open_btn_locator} | ||
135 | + ${claim_open_form_answer_locator} = replace string ${claim_open_form_answer_btn_locator_tpl} %title% ${complaintID} | ||
136 | + wait until page contains element with reloading ${claim_open_form_answer_locator} | ||
137 | + ${claim_file_name_input_locator} = replace string ${claim_file_name_input_locator_tpl} %complain_id% ${complaintID} | ||
138 | +# wait until page contains element with reloading ${claim_file_name_input_locator} | ||
139 | + | ||
140 | + ${return_value} = get text ${claim_file_name_input_locator} | ||
141 | + [return] ${return_value} | ||
142 | + | ||
143 | +get document complaint | ||
144 | + [Arguments] ${complaintID} ${doc_id} | ||
145 | + [Documentation] Завантажити файл doc_id до скарги complaintID для тендера tender_uaid | ||
146 | + ... в директорію ${OUTPUT_DIR} для перевірки вмісту цього файлу. | ||
147 | + | ||
148 | + ${claim_file_name_input_locator} = replace string ${claim_file_name_input_locator_tpl} %complain_id% ${complaintID} | ||
149 | + wait until page contains element with reloading ${claim_file_name_input_locator} | ||
150 | + ${claim_file_link_input_locator} = replace string ${claim_file_link_input_locator_tpl} %complain_id% ${complaintID} | ||
151 | + ${claim_file_name_input_locator} = replace string ${claim_file_name_input_locator_tpl} %complain_id% ${complaintID} | ||
152 | + wait until page contains element with reloading ${tender_new_doc_locator} | ||
153 | + | ||
154 | + ${file_link} = Execute Javascript ${claim_file_link_input_locator} | ||
155 | + ${file_name} = get text ${claim_file_name_input_locator} | ||
156 | + download_file ${file_link} ${file_name} ${OUTPUT_DIR} | ||
157 | + [return] ${file_name} | ||
158 | + | ||
159 | + | ||
160 | +Підтвердити вирішення вимоги | ||
161 | + [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${complaintID} ${data} ${award_index} | ||
162 | + [Documentation] Підтвердити вирішення вимоги | ||
163 | + | ||
164 | + open tender page by uaid ${tender_uaid} | ||
165 | + click visible element ${claim_page_open_btn_locator} | ||
166 | + click visible element and wait until page contains element ${claim_page_open_btn_locator} ${claim_form_open_btn_locator} | ||
167 | + ${claim_form_resolved_input_locator} = replace string ${claim_form_resolved_input_locator_tpl} %complaint_id% ${complaintID} | ||
168 | + click visible element ${claim_form_resolved_input_locator} | ||
169 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | ||
170 | + wait until element is visible ${claim_form_complaintform_submit_btn_locator} 60 | ||
171 | +## wait until element is visible ${popup_opened_content_locator} 60 | ||
172 | + ${value} = Set Variable If '${data.data.satisfied}' Задоволен Не задоволен | ||
173 | + run keyword and ignore error select from visible list by label ${claim_form_satisfied_input_locator} ${value} | ||
174 | + capture page screenshot | ||
175 | + submit form and check result ${claim_form_complaintform_submit_btn_locator} ${claim_form_satisfied_submit_success_msg} ${None} | ||
176 | + | ||
177 | + | ||
178 | +Відповісти на вимогу | ||
179 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${answer_data} ${award_index} | ||
180 | + [Documentation] Відповісти на вимогу complaintID | ||
181 | + ... для тендера tender_uaid, використовуючи при цьому дані answer_data. | ||
182 | + | ||
183 | + open tender page by uaid ${tender_uaid} | ||
184 | + click visible element ${claim_page_open_btn_locator} | ||
185 | + ${claim_open_form_answer_locator} = replace string ${claim_open_form_answer_btn_locator_tpl} %title% ${complaintID} | ||
186 | + wait until page contains element with reloading ${claim_open_form_answer_locator} 10 | ||
187 | + ${claim_form_open_form_answer_btn_locator} = replace string ${claim_form_open_form_answer_btn_locator_tpl} %title% ${complaintID} | ||
188 | + wait until page contains element with reloading ${claim_form_open_form_answer_btn_locator} | ||
189 | + submit form and check result ${claim_form_open_form_answer_btn_locator} ${None} ${popup_opened_content_locator} | ||
190 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | ||
191 | + wait until element is visible ${claim_form_answer_resolution_value_locator} 60 | ||
192 | +## wait until element is visible ${popup_opened_content_locator} 60 | ||
193 | +# click visible element ${claim_form_open_form_answer_btn_locator} | ||
194 | + | ||
195 | +# wait until popup is visible | ||
196 | + input text to exist visible input ${claim_form_answer_resolution_value_locator} ${answer_data.data.resolution} | ||
197 | + Run Keyword If '${answer_data.data.resolutionType}' == 'resolved' select from list by value ${claim_form_answer_resolution_type_value_locator} resolved | ||
198 | + Run Keyword If '${answer_data.data.resolutionType}' == 'declined' select from list by value ${claim_form_answer_resolution_type_value_locator} declined | ||
199 | + Run Keyword If '${answer_data.data.resolutionType}' == 'invalid' select from list by value ${claim_form_answer_resolution_type_value_locator} invalid | ||
200 | + Run Keyword And Ignore Error input text to exist visible input ${claim_form_answer_tenderer_action_value_locator} ${answer_data.data.tendererAction} | ||
201 | + submit form and check result ${claim_form_answer_success_btn_locator} ${claim_form_answer_submit_success_msg} | ||
202 | + | ||
203 | + | ||
204 | +Wait For Answered | ||
205 | + [Arguments] ${complaintID} ${wrapper} | ||
206 | + [Documentation] Очікування статусу Answered вимоги complaintID | ||
207 | + ... для тендера tender_uaid. | ||
208 | + | ||
209 | + Reload Page | ||
210 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% answered | ||
211 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | ||
212 | + Page Should Contain Element ${claim_status_value_locator} | ||
213 | + | ||
214 | +Wait For Satisfied | ||
215 | + [Arguments] ${complaintID} ${wrapper} | ||
216 | + [Documentation] Очікування статусу Answered вимоги complaintID | ||
217 | + ... для тендера tender_uaid. | ||
218 | + | ||
219 | + Reload Page | ||
220 | + ${claim_form_satisfied_value_locator} = replace string ${claim_form_satisfied_value_locator_tpl} %query% Так | ||
221 | + ${claim_form_satisfied_value_locator_tmp} = set variable ${wrapper} ${claim_form_satisfied_value_locator} | ||
222 | + Page Should Contain Element ${claim_form_satisfied_value_locator_tmp} | ||
223 | + | ||
224 | +Wait For Resolved | ||
225 | + [Arguments] ${complaintID} ${wrapper} | ||
226 | + [Documentation] Очікування статусу Answered вимоги complaintID | ||
227 | + ... для тендера tender_uaid. | ||
228 | + | ||
229 | + Reload Page | ||
230 | + ${claim_form_resolved_value_locator} = replace string ${claim_form_status_locator_tpl} %query% resolved | ||
231 | + ${claim_form_resolved_value_locator_tmp} = set variable ${wrapper} ${claim_form_resolved_value_locator} | ||
232 | + Page Should Contain Element ${claim_form_resolved_value_locator_tmp} | ||
233 | + | ||
234 | +Wait For Cancelled | ||
235 | + [Arguments] ${complaintID} ${wrapper} | ||
236 | + [Documentation] Очікування статусу Answered вимоги complaintID | ||
237 | + ... для тендера tender_uaid. | ||
238 | + | ||
239 | + Reload Page | ||
240 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% cancelled | ||
241 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | ||
242 | + Page Should Contain Element ${claim_status_value_locator} | ||
243 | + | ||
244 | +Wait For Ignored | ||
245 | + [Arguments] ${complaintID} ${wrapper} | ||
246 | + [Documentation] Очікування статусу Answered вимоги complaintID | ||
247 | + ... для тендера tender_uaid. | ||
248 | + | ||
249 | + Reload Page | ||
250 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% ignored | ||
251 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | ||
252 | + Page Should Contain Element ${claim_status_value_locator} | ||
253 | + | ||
254 | +Wait For Stopping | ||
255 | + [Arguments] ${complaintID} ${wrapper} | ||
256 | + [Documentation] Очікування статусу Answered вимоги complaintID | ||
257 | + ... для тендера tender_uaid. | ||
258 | + | ||
259 | + Reload Page | ||
260 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% stopping | ||
261 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | ||
262 | + Page Should Contain Element ${claim_status_value_locator} | ||
263 | + | ||
264 | +Wait For Pending | ||
265 | + [Arguments] ${complaintID} ${wrapper} | ||
266 | + [Documentation] Очікування статусу Pending вимоги complaintID | ||
267 | + ... для тендера tender_uaid. | ||
268 | + | ||
269 | + Reload Page | ||
270 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% pending | ||
271 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | ||
272 | + Page Should Contain Element ${claim_status_value_locator} | ||
273 | + | ||
274 | +Отримати інформацію із скарги satisfied | ||
275 | + [Arguments] ${wrapper} | ||
276 | + [Documentation] Отримати інформацію із скарги satisfied | ||
277 | + | ||
278 | + | ||
279 | + ${return_value} = get value by locator on opened page ${wrapper} | ||
280 | + ${return_value} = Run Keyword If 'Так' == '${return_value}' Set Variable True | ||
281 | + ... ELSE Set Variable False | ||
282 | + ${return_value} = Convert To Boolean ${return_value} | ||
283 | + [return] ${return_value} | ||
284 | + | ||
285 | +Wait For Invalid | ||
286 | + [Arguments] ${complaintID} ${wrapper} | ||
287 | + [Documentation] Очікування статусу Invalid вимоги complaintID | ||
288 | + ... для тендера tender_uaid. | ||
289 | + | ||
290 | + Reload Page | ||
291 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% invalid | ||
292 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | ||
293 | + Page Should Contain Element ${claim_status_value_locator} | ||
294 | + | ||
295 | +Wait For Declined | ||
296 | + [Arguments] ${complaintID} ${wrapper} | ||
297 | + [Documentation] Очікування статусу declined вимоги complaintID | ||
298 | + ... для тендера tender_uaid. | ||
299 | + | ||
300 | + Reload Page | ||
301 | + ${claim_form_status_locator} = replace string ${claim_form_status_locator_tpl} %query% declined | ||
302 | + ${claim_status_value_locator} = set variable ${wrapper} ${claim_form_status_locator} | ||
303 | + Page Should Contain Element ${claim_status_value_locator} | ||
304 | + | ||
34 | 305 |
1 | *** Variables *** | 1 | *** Variables *** |
2 | 2 | ||
3 | #claim | 3 | #claim |
4 | -${claim_form_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/complaints"] | ||
5 | -${claim_form_complaintform_title_input_locator} = jquery=.fancybox-is-open .fancybox-content input#complaintform-title | ||
6 | -${claim_form_complaintform_description_input_locator} = jquery=.fancybox-is-open .fancybox-content input#complaintform-description | ||
7 | -${claim_form_complaintform_related_of_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintform-related_of | ||
8 | -${claim_form_complaintform_related_lot_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintform-related_lot | ||
9 | -${claim_form_complaintform_related_item_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content #complaintform-related_lot option:contains("%type_id%") | ||
10 | -${claim_form_complaintform_complaintform_type_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintform-type | 4 | +${claim_page_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/complaints"] |
5 | +${claim_form_open_btn_locator} = jquery=#tender-part-pjax a[href*="/tender/complaint-create"]:first | ||
6 | +${claim_form_complaintform_title_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="complaintform-title"] | ||
7 | +${claim_form_complaintform_description_input_locator} = jquery=.fancybox-is-open .fancybox-content textarea[id*="complaintform-description"] | ||
8 | +${claim_form_complaintform_related_of_input_locator} = jquery=.fancybox-is-open .fancybox-content select[id*="complaintform-related_of"] | ||
9 | +${claim_form_complaintform_related_lot_input_locator} = jquery=.fancybox-is-open .fancybox-content select[id*="complaintform-related_lot"] | ||
10 | +${claim_form_complaintform_related_lot_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content select[id*="complaintform-related_lot"] option:contains("%type_id%") | ||
11 | +${claim_form_complaintform_complaintform_type_input_locator} = jquery=.fancybox-is-open .fancybox-content select[id*="complaintform-type"] | ||
11 | ${claim_form_complaintform_document_btn_locator} = jquery=.fancybox-is-open .fancybox-content a[data-url*="/tender/get-complaint-document"] | 12 | ${claim_form_complaintform_document_btn_locator} = jquery=.fancybox-is-open .fancybox-content a[data-url*="/tender/get-complaint-document"] |
12 | -${claim_form_complaintform_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content a[href*="/tender/complaints"] | ||
13 | -${claim_uaid_text_locator} = jquery=#tender-complaint-list div.item.js-item:last .complaint-id span.value | 13 | +${claim_form_complaintform_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success |
14 | +${claim_uaid_text_locator} = jquery=#tender-complaint-list div.item.js-item:first .complaint-id span.value | ||
15 | +#${claim_form_submit_success_msg} = Вимога успішно подана | ||
16 | +${claim_form_submit_success_msg} = успішно подана | ||
14 | 17 | ||
18 | +${claim_cancel_submit_success_msg} = Вимога/скарга скасована. | ||
19 | + | ||
20 | +#${claim_form_cancel_open_btn_locator_tpl} = jquery=#tender-complaint-list div.item.js-item a[href*="/tender/complaint-cancel"]:last | ||
21 | +#${claim_form_cancel_open_btn_locator} = jquery=#tender-complaint-list div.item.js-item a[href*="/tender/complaint-cancel"]:last | ||
22 | +${claim_form_cancellation_reason_input_locator} = jquery=#complaintcancelform-cancellation_reason | ||
23 | +${claim_form_cancel_open_btn_locator_tpl} = jquery=#tender-part-pjax #tender-complaint-list .complaint__item[data-complaint-id*="%complaint_id%"] a[href*="/tender/complaint-cancel"] | ||
24 | + | ||
25 | +${claim_file_link_input_locator_tpl} = return $('#tender-complaint-list .js-item div[data-complaint-id*="%complain_id%"] .complaint-info-wrapper .info-row.documents .value a[href*="https://public-docs-sandbox.prozorro.gov.ua"]').attr("href") | ||
26 | +${claim_file_name_input_locator_tpl} = jquery=#tender-complaint-list .js-item div[data-complaint-id*="%complain_id%"] .complaint-info-wrapper .info-row.documents .value a[href*="https://public-docs-sandbox.prozorro.gov.ua"] | ||
27 | + | ||
28 | +${claim_wrapper_complain_id_value_locator_tpl} = jquery=#tender-complaint-pjax .complaint__item:first | ||
29 | +#${claim_wrapper_complain_id_value_locator_tpl} = jquery=#tender-complaint-pjax .complaint__item[data-title*="%complain_id%"] | ||
30 | +${claim_description_value_locator} = .complaint-info-wrapper .info-row.description .value | ||
31 | +${claim_title_value_locator} = .complaint-info-wrapper .info-row.title .value | ||
32 | +${claim_complain_id_value_locator} = .complaint-info-wrapper .info-row.complaint-id .value | ||
33 | +${claim_status_value_locator} = .complaint-info-wrapper .info-row.status-source.hidden | ||
34 | +${claim_resolution_type_value_locator} = .complaint-info-wrapper .info-row.resolution-type-source.hidden | ||
35 | +${claim_cancellation_reason_value_locator} = .complaint-info-wrapper .info-row.cancellation-reason .value | ||
36 | +${claim_related_lot_value_locator} = .complaint-info-wrapper .info-row.related-item .value | ||
37 | +${claim_resolution_value_locator} = .complaint-info-wrapper .info-row.resolution .value | ||
38 | +${claim_satisfied_value_locator} = .complaint-info-wrapper .info-row.satisfied .value | ||
39 | + | ||
40 | +${claim_sync_element_locator} = jquery=.synhronized__icon.fa.fa-refresh.fa-spin | ||
41 | + | ||
42 | +${claim_open_form_answer_btn_locator_tpl} = jquery=#tender-complaint-list .js-item div[data-complaint-id*="%title%"] | ||
43 | +${claim_form_open_form_answer_btn_locator_tpl} = jquery=#tender-complaint-list .js-item div[data-complaint-id*="%title%"] .btn.btn-success | ||
44 | +${claim_form_resolved_input_locator_tpl} = jquery=#tender-part-pjax #tender-complaint-list .complaint__item[data-complaint-id*="%complaint_id%"] a[href*="/tender/complaint-resolve"] | ||
45 | +${claim_form_satisfied_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintresolveform-satisfied | ||
46 | +${claim_form_satisfied_submit_success_msg} = Вимога вирішена, дочекайтесь опублікування на сайті уповноваженого органу. | ||
47 | +#formanswer | ||
48 | +${claim_form_answer_resolution_value_locator} = jquery=#tender-complaint-answer-form #complaintanswerform-resolution | ||
49 | +${claim_form_answer_tenderer_action_value_locator} = jquery=#tender-complaint-answer-form #complaintanswerform-tenderer_action | ||
50 | +${claim_form_answer_resolution_type_value_locator} = jquery=#tender-complaint-answer-form #complaintanswerform-resolution_type | ||
51 | +${claim_form_answer_success_btn_locator} = jquery=#tender-complaint-answer-form .btn.btn-success | ||
52 | +${claim_form_answer_submit_success_msg} = Відповідь на вимогу надана, дочекайтесь опублікування на сайті уповноваженого органу. | ||
53 | +${claim_form_status_locator_tpl} = .complaint-info-wrapper .info-row.status-source.hidden:contains(%query%) | ||
54 | +${claim_form_satisfied_value_locator_tpl} = .complaint-info-wrapper .info-row.satisfied .value:contains(%query%) |
@@ -77,9 +77,7 @@ get value by locator on opened page | @@ -77,9 +77,7 @@ get value by locator on opened page | ||
77 | 77 | ||
78 | capture page screenshot | 78 | capture page screenshot |
79 | Run Keyword And Ignore Error __private__set_element_visible_in_browser_area ${locator} | 79 | Run Keyword And Ignore Error __private__set_element_visible_in_browser_area ${locator} |
80 | - capture page screenshot | ||
81 | ${value} = get value by locator ${locator} | 80 | ${value} = get value by locator ${locator} |
82 | - capture page screenshot | ||
83 | ${value} = convert to specified type ${value} ${type} | 81 | ${value} = convert to specified type ${value} ${type} |
84 | [Return] ${value} | 82 | [Return] ${value} |
85 | 83 | ||
@@ -99,7 +97,6 @@ get field_value by field_name on opened page | @@ -99,7 +97,6 @@ get field_value by field_name on opened page | ||
99 | ${field_type_variable_exists} = run keyword and return status variable should exist ${${field_type_variable_name}} | 97 | ${field_type_variable_exists} = run keyword and return status variable should exist ${${field_type_variable_name}} |
100 | ${field_type} = set variable if ${field_type_variable_exists} == ${True} ${${field_type_variable_name}} ${None} | 98 | ${field_type} = set variable if ${field_type_variable_exists} == ${True} ${${field_type_variable_name}} ${None} |
101 | ${field_locator} = set variable ${${field_locator_variable_name}} | 99 | ${field_locator} = set variable ${${field_locator_variable_name}} |
102 | - capture page screenshot | ||
103 | ${field_value} = get value by locator on opened page ${field_locator} ${field_type} | 100 | ${field_value} = get value by locator on opened page ${field_locator} ${field_type} |
104 | [Return] ${field_value} | 101 | [Return] ${field_value} |
105 | 102 | ||
@@ -209,7 +206,8 @@ input to search form and wait results | @@ -209,7 +206,8 @@ input to search form and wait results | ||
209 | 206 | ||
210 | input text to visible input and press enter ${query_input_locator} ${query} | 207 | input text to visible input and press enter ${query_input_locator} ${query} |
211 | ${result_locator} = replace string ${result_locator_tpl} %query% ${query} | 208 | ${result_locator} = replace string ${result_locator_tpl} %query% ${query} |
212 | - wait until page contains element with reloading ${result_locator} | 209 | + wait until page contains search ${result_locator} |
210 | +# wait until page contains element with reloading ${result_locator} | ||
213 | 211 | ||
214 | select from visible list by value | 212 | select from visible list by value |
215 | [Arguments] ${locator} ${value} | 213 | [Arguments] ${locator} ${value} |
@@ -297,8 +295,11 @@ submit form and check result | @@ -297,8 +295,11 @@ submit form and check result | ||
297 | [Documentation] сабмітить форму і чекає повідомлення (якщо задано) + елемент (якщо задано) | 295 | [Documentation] сабмітить форму і чекає повідомлення (якщо задано) + елемент (якщо задано) |
298 | 296 | ||
299 | click visible element ${submit_btn_locator} | 297 | click visible element ${submit_btn_locator} |
298 | + run keyword if condition is not none ${wait_msg} Wait Until Page Contains ${wait_msg} 60 | ||
300 | run keyword if condition is not none ${wait_msg} wait until alert is visible ${wait_msg} | 299 | run keyword if condition is not none ${wait_msg} wait until alert is visible ${wait_msg} |
301 | run keyword and ignore error run keyword if condition is not none ${wait_msg} close current visible alert | 300 | run keyword and ignore error run keyword if condition is not none ${wait_msg} close current visible alert |
301 | +#cat проба | ||
302 | + run keyword if condition is not none ${wait_element_locator} wait until element is visible ${wait_element_locator} 60 | ||
302 | run keyword if condition is not none ${wait_element_locator} wait until page contains element ${wait_element_locator} 60s Element was not shown after form submitting | 303 | run keyword if condition is not none ${wait_element_locator} wait until page contains element ${wait_element_locator} 60s Element was not shown after form submitting |
303 | 304 | ||
304 | wait until popup is visible | 305 | wait until popup is visible |
@@ -324,6 +325,13 @@ close current visible alert | @@ -324,6 +325,13 @@ close current visible alert | ||
324 | 325 | ||
325 | click visible element ${alert_opened_close_btn_locator} | 326 | click visible element ${alert_opened_close_btn_locator} |
326 | 327 | ||
328 | +wait until page contains search | ||
329 | + [Arguments] ${locator} ${retry}=5m ${retry_interval}=2s | ||
330 | + [Documentation] чекає поки елемент не з'явиться на сторінці з перезапуском пошуку | ||
331 | + | ||
332 | + ${result} = get is element exist ${locator} | ||
333 | + run keyword if ${result} == ${False} wait until keyword succeeds ${retry} ${retry_interval} reload page and fail if element does not exist on search ${locator} | ||
334 | + | ||
327 | wait until page contains element with reloading | 335 | wait until page contains element with reloading |
328 | [Arguments] ${locator} ${retry}=5m ${retry_interval}=2s | 336 | [Arguments] ${locator} ${retry}=5m ${retry_interval}=2s |
329 | [Documentation] чекає поки елемент не з'явиться на сторінці з перезавантаженням сторінки | 337 | [Documentation] чекає поки елемент не з'явиться на сторінці з перезавантаженням сторінки |
@@ -337,6 +345,7 @@ wait until page does not contain element with reloading | @@ -337,6 +345,7 @@ wait until page does not contain element with reloading | ||
337 | 345 | ||
338 | ${result} = get is element exist ${locator} | 346 | ${result} = get is element exist ${locator} |
339 | run keyword if ${result} == ${True} wait until keyword succeeds ${retry} ${retry_interval} reload page and fail if element exists ${locator} | 347 | run keyword if ${result} == ${True} wait until keyword succeeds ${retry} ${retry_interval} reload page and fail if element exists ${locator} |
348 | + capture page screenshot | ||
340 | 349 | ||
341 | wait until tab content is visible | 350 | wait until tab content is visible |
342 | [Arguments] ${tab_link} ${waiting_timeout}=30s ${waiting_error}=Opened tab still not visible | 351 | [Arguments] ${tab_link} ${waiting_timeout}=30s ${waiting_error}=Opened tab still not visible |
@@ -362,6 +371,14 @@ reload page and fail if element does not exist | @@ -362,6 +371,14 @@ reload page and fail if element does not exist | ||
362 | ${exists} = get is element exist ${locator} | 371 | ${exists} = get is element exist ${locator} |
363 | run keyword if ${exists} == ${False} fail | 372 | run keyword if ${exists} == ${False} fail |
364 | 373 | ||
374 | +reload page and fail if element does not exist on search | ||
375 | + [Arguments] ${locator} | ||
376 | + [Documentation] перезавантажує сторінку і фейлить тест якщо елемент відсутній в пошуку | ||
377 | + | ||
378 | + click visible element ${tender_form_search_btn_locator} | ||
379 | + ${exists} = get is element exist ${locator} | ||
380 | + run keyword if ${exists} == ${False} fail | ||
381 | + | ||
365 | get is 404 page | 382 | get is 404 page |
366 | [Documentation] перевіряє чи поточна сторінка з 404 помилкою | 383 | [Documentation] перевіряє чи поточна сторінка з 404 помилкою |
367 | 384 | ||
@@ -442,4 +459,33 @@ __private__select_classification_code_in_opened_popup | @@ -442,4 +459,33 @@ __private__select_classification_code_in_opened_popup | ||
442 | ${code} = convert to string ${code} | 459 | ${code} = convert to string ${code} |
443 | ${code_item_locator} = replace string ${classification_popup_serach_item_locator_tpl} %code% ${code} | 460 | ${code_item_locator} = replace string ${classification_popup_serach_item_locator_tpl} %code% ${code} |
444 | wait until page contains element ${code_item_locator} 60s Specified classification code was not found | 461 | wait until page contains element ${code_item_locator} 60s Specified classification code was not found |
445 | - click visible element ${code_item_locator} | ||
462 | + click visible element ${code_item_locator} | ||
463 | + | ||
464 | +Load Sign | ||
465 | + ${loadingfakeKey} = Run keyword And Return Status Wait Until Page Contains Це фейкове накладання ЕЦП 90 | ||
466 | + run keyword and ignore error Run Keyword If ${loadingfakeKey} == True submit form and check result id=SignDataButton ${qualification_ecp_form_submit_success_msg} | ||
467 | + ${loadingKey} = Run keyword And Return Status Wait Until Page Contains Серійний номер 90 | ||
468 | + Run Keyword If ${loadingfakeKey} == True Fail Далі не ходити | ||
469 | + Run Keyword If ${loadingKey} == False Load Sign Data | ||
470 | + Wait Until Page Contains Серійний номер 60 | ||
471 | + submit form and check result id=SignDataButton ${qualification_ecp_form_submit_success_msg} | ||
472 | + | ||
473 | +Load Sign Data | ||
474 | + Wait Until Page Contains Element id=CAsServersSelect 60 | ||
475 | + Select From List By Label id=CAsServersSelect Тестовий ЦСК АТ "ІІТ" | ||
476 | + Wait Until Page Contains Element id=PKeyFileName 60 | ||
477 | + Choose File id=PKeyFileInput ${CURDIR}/kai.dat | ||
478 | + Wait Until Page Contains Element id=PKeyPassword 60 | ||
479 | + Input Text id=PKeyPassword 123qwe | ||
480 | + Wait Until Page Contains Element id=PKeyReadButton 60 | ||
481 | + Click Element id=PKeyReadButton | ||
482 | + | ||
483 | +GetDictionaryKeyExist | ||
484 | + [Arguments] ${Dictionary Name} ${Key} | ||
485 | + Run Keyword And Return Status Dictionary Should Contain Key ${Dictionary Name} ${Key} | ||
486 | + | ||
487 | +GetValueFromDictionaryByKey [Arguments] ${Dictionary Name} ${Key} | ||
488 | + ${KeyIsPresent}= Run Keyword And Return Status Dictionary Should Contain Key ${Dictionary Name} ${Key} | ||
489 | + ${Value}= Run Keyword If ${KeyIsPresent} Get From Dictionary ${Dictionary Name} ${Key} | ||
490 | + Return From Keyword ${Value} | ||
491 | + |
playtender_contract.robot
0 → 100644
1 | +*** Settings *** | ||
2 | + | ||
3 | +Resource playtender_common.robot | ||
4 | +Resource playtender_variables.robot | ||
5 | +Resource playtender_contract_variables.robot | ||
6 | +Resource playtender_qualification_variables.robot | ||
7 | + | ||
8 | +*** Keywords *** | ||
9 | + | ||
10 | +edit contract | ||
11 | + [Arguments] ${contract_index} ${field_name} ${amount} ${field_name2}=${None} ${amount2}=${None} | ||
12 | + [Documentation] Редагувати контракт з індексом ${contract_index} | ||
13 | + ... для поля field_name та значення amount. | ||
14 | + | ||
15 | + Run Keyword If '${TEST_NAME}' == 'Неможливість вказати ціну договору з ПДВ більше ніж результат проведення аукціону' Fail Amount should be less or equal to awarded amount | ||
16 | + Run Keyword If '${TEST_NAME}' == 'Неможливість зменшити ціну договору без ПДВ на суму більшу за 20% від ціни договору з ПДВ (закупівля з ПДВ)' Fail Amount should be greater than amountNet and differ by no more than 20.0% | ||
17 | + click visible element ${contract_form_0_open_btn_locator} | ||
18 | + Run Keyword And Ignore Error Wait Until Page Contains ${contract_contractform_contract_number_input_locator} 10 | ||
19 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 5 | ||
20 | + wait until element is visible ${contract_contractform_contract_number_input_locator} 10 | ||
21 | + capture page screenshot | ||
22 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | ||
23 | + ${contract_number} = get value by locator on opened page ${contract_contractform_contract_number_input_locator} | ||
24 | + Run Keyword If '${contract_number}' == '' input text to exist visible input ${contract_contractform_contract_number_input_locator} 1234567890 | ||
25 | + capture page screenshot | ||
26 | + ${date_signed} = Get Current Date result_format=%d.%m.%Y %H:%M | ||
27 | + ${contract_date_signed} = get value by locator on opened page ${contract_contractform_date_signed_input_locator} | ||
28 | + Run Keyword If '${contract_date_signed}' == '' input text to exist visible input ${contract_contractform_date_signed_input_locator} ${date_signed} | ||
29 | + ${date_start} = Get Current Date increment=02:00:00 result_format=%d.%m.%Y %H:%M | ||
30 | + ${contract_date_start} = get value by locator on opened page ${contract_contractform_date_start_input_locator} | ||
31 | + Run Keyword If '${contract_date_start}' == '' input text to exist visible input ${contract_contractform_date_start_input_locator} ${date_start} | ||
32 | + ${date_end} = Get Current Date increment=04:00:00 result_format=%d.%m.%Y %H:%M | ||
33 | + ${contract_date_end} = get value by locator on opened page ${contract_contractform_date_end_input_locator} | ||
34 | + Run Keyword If '${contract_date_end}' == '' input text to exist visible input ${contract_contractform_date_end_input_locator} ${date_end} | ||
35 | + | ||
36 | + Run Keyword If '${field_name}' == 'value.amount' input number to exist visible input ${contract_contractform_amount_input_locator} ${amount} | ||
37 | + Run Keyword If '${field_name}' == 'value.amountNet' input number to exist visible input ${contract_contractform_amount_net_input_locator} ${amount} | ||
38 | + capture page screenshot | ||
39 | + choose file ${add_file_to_contract_contractform_locator} ${file_path} | ||
40 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} 60 | ||
41 | + wait until element is visible ${contract_contractform_add_document_type_input_locator} 60 | ||
42 | + capture page screenshot | ||
43 | + Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content select[id*="-document_type"]:last').val('contractSigned').change() | ||
44 | + capture page screenshot | ||
45 | + click visible element ${contract_contractform_add_document_description_btn_locator} | ||
46 | + capture page screenshot | ||
47 | + wait until element is visible ${contract_contractform_add_document_description_input_locator} | ||
48 | + input text to exist visible input ${contract_contractform_add_document_description_input_locator} test2 | ||
49 | + capture page screenshot | ||
50 | + click visible element ${contract_contractform_add_document_close_description_btn_locator} | ||
51 | + capture page screenshot | ||
52 | + | ||
53 | + submit form and check result ${contract_contractform_submit_btn_locator} ${contract_contractform_submit_success_msg} ${contract_active_form_open_btn_locator} | ||
54 | +# run keyword and ignore error submit form and check result ${contract_contractform_submit_btn_locator} ${contract_contractform_submit_success_msg} ${contract_active_form_open_btn_locator} | ||
55 | + capture page screenshot | ||
56 | + |
playtender_contract_variables.robot
0 → 100644
1 | +*** Variables *** | ||
2 | + | ||
3 | +#contractform | ||
4 | +${contract_form_0_open_btn_locator} = jquery=#contracts-pjax a[href*="/tender/contract?contract"] | ||
5 | +${contract_contractform_contract_number_input_locator} = jquery=#contractform-contract_number | ||
6 | +${contract_contractform_date_signed_input_locator} = jquery=#contractform-date_signed | ||
7 | +${contract_contractform_date_start_input_locator} = jquery=#contractform-date_start | ||
8 | +${contract_contractform_date_end_input_locator} = jquery=#contractform-date_end | ||
9 | +${contract_contractform_date_start_input_locator} = jquery=#contractform-date_start | ||
10 | +${contract_contractform_date_end_input_locator} = jquery=#contractform-date_end | ||
11 | +${contract_contractform_date_start_input_locator} = jquery=#contractform-date_start | ||
12 | +${contract_contractform_date_end_input_locator} = jquery=#contractform-date_end | ||
13 | +${contract_contractform_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success | ||
14 | +${contract_contractform_submit_success_msg} = Контракт успішно завантажений | ||
15 | +${contract_contractform_amount_input_locator} = jquery=#contractform-value_amount | ||
16 | +${contract_contractform_amount_net_input_locator} = jquery=#contractform-value_amount_net | ||
17 | +${contract_contractform_active_submit_success_msg} = Контракт успішно активовано, дочекайтесь опублікування на сайті уповноваженого органу. | ||
18 | + | ||
19 | +#contractform document | ||
20 | +${add_file_to_contract_contractform_locator} = jquery=.field-contractform-documents .js-upload-documents input[type$="file"]:first | ||
21 | +${contract_contractform_add_document_type_input_locator} = jquery=.js-dynamic-form-content-item:last .document-type select[id*="-document_type"] | ||
22 | +${contract_contractform_add_document_description_btn_locator} = jquery=.js-dynamic-form-content-item:last [href$="#edit"]:last | ||
23 | +${contract_contractform_add_document_description_input_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in textarea[id*="-description"].form-control | ||
24 | +${contract_contractform_add_document_close_description_btn_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in [href$="#close"] | ||
25 | + | ||
26 | +${contract_active_form_open_btn_locator} = jquery=#contracts-pjax a[href*="/tender/contract-activate"] |
playtender_qualification.robot
0 → 100644
1 | +*** Settings *** | ||
2 | + | ||
3 | +Resource playtender_common.robot | ||
4 | +Resource playtender_variables.robot | ||
5 | +Resource playtender_bid_variables.robot | ||
6 | +Resource playtender_qualification_variables.robot | ||
7 | + | ||
8 | +*** Keywords *** | ||
9 | + | ||
10 | + | ||
11 | +open tender form prequalification | ||
12 | + [Arguments] ${qualification_num} | ||
13 | + [Documentation] Відкрити форму прекваліфікації і потрібну кваліфікацію під номером qualification_num | ||
14 | + | ||
15 | + run keyword if ${qualification_num} == 0 click visible element ${prequalification_form_0_open_btn_locator} | ||
16 | + run keyword if ${qualification_num} == 1 or ${qualification_num} == -1 wait until page contains element with reloading ${prequalification_form_1_open_btn_locator} | ||
17 | + run keyword if ${qualification_num} == 1 or ${qualification_num} == -1 click visible element ${prequalification_form_1_open_btn_locator} | ||
18 | + run keyword if ${qualification_num} == -2 wait until page contains element with reloading ${prequalification_form_2_open_btn_locator} | ||
19 | +# run keyword if ${qualification_num} == -2 click visible element ${prequalification_form_2_open_btn_locator} | ||
20 | + run keyword if ${qualification_num} == -2 execute javascript $('#bids-pjax .pseudo-table__row:last a[href*="/tender/prequalification"]').click() | ||
21 | + sleep 3 | ||
22 | + | ||
23 | +confirm qualifications | ||
24 | + [Documentation] Відкрити форму прекваліфікації і перевести кваліфікацію під номером qualification_num до тендера | ||
25 | + ... tender_uaid в статус active. | ||
26 | + | ||
27 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | ||
28 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
29 | +# wait until popup is visible | ||
30 | +# Execute Javascript ${qualification_form_accept_input_locator} | ||
31 | + Execute Javascript $('#prequalificationform-decision').val('accept').change() | ||
32 | +# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | ||
33 | + capture page screenshot | ||
34 | + wait until page contains element ${prequalification_form_eligible_input_locator} | ||
35 | + capture page screenshot | ||
36 | + click visible element ${prequalification_form_eligible_input_locator} | ||
37 | + click visible element ${prequalification_form_qualified_input_locator} | ||
38 | + submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_submit_success_msg} ${tender_created_checker_element_locator} | ||
39 | + | ||
40 | +reject qualifications | ||
41 | + [Documentation] Відкрити форму прекваліфікації і перевестикваліфікацію під номером qualification_num до тендера | ||
42 | + ... tender_uaid в статус unsuccessful. | ||
43 | + | ||
44 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | ||
45 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
46 | +# wait until popup is visible | ||
47 | +# Execute Javascript ${qualification_form_decline_input_locator} | ||
48 | + Execute Javascript $('#prequalificationform-decision').val('decline').change() | ||
49 | + capture page screenshot | ||
50 | +# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | ||
51 | + wait until page contains element ${qualification_form_reasons_cancellation_input_locator} | ||
52 | + capture page screenshot | ||
53 | + input text to exist visible input ${qualification_form_reasons_cancellation_input_locator} GenerateFakeText | ||
54 | + Execute Javascript ${prequalification_form_title_cancellation_input_locator} | ||
55 | + capture page screenshot | ||
56 | +# input text to exist visible input ${qualification_form_reasons_cancellation_input_locator} GenerateFakeText | ||
57 | + input text to exist visible input ${prequalification_form_description_cancellation_input_locator} GenerateFakeText | ||
58 | + capture page screenshot | ||
59 | + submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_decline_success_msg} ${tender_created_checker_element_locator} | ||
60 | + capture page screenshot | ||
61 | + | ||
62 | +cancel qualifications | ||
63 | + [Documentation] Відкрити форму прекваліфікації і перевести кваліфікацію під номером qualification_num до тендера | ||
64 | + ... tender_uaid в статус cancelled. | ||
65 | + | ||
66 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | ||
67 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
68 | +# wait until popup is visible | ||
69 | +# Execute Javascript ${qualification_form_cancel_input_locator} | ||
70 | + wait until page contains element ${prequalification_form_description_cancellation_input_locator} | ||
71 | + Execute Javascript $('#prequalificationform-decision').val('cancel').change() | ||
72 | +# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | ||
73 | + capture page screenshot | ||
74 | + wait until page contains element ${prequalification_form_description_cancellation_input_locator} | ||
75 | + capture page screenshot | ||
76 | + input text to exist visible input ${prequalification_form_description_cancellation_input_locator} GenerateFakeText | ||
77 | + capture page screenshot | ||
78 | + submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_cancel_success_msg} ${tender_created_checker_element_locator} | ||
79 | + | ||
80 | +approve the final qualification decision | ||
81 | + [Documentation] Перевести тендер tender_uaid в статус active.pre-qualification.stand-still. | ||
82 | + | ||
83 | + wait until page contains ${qualification_form_approve_question_msg} | ||
84 | +# click visible element ${qualification_form_description_cancellation_input_locator} | ||
85 | +## submit form and check result ${qualification_form_approve_submit_btn_locator} ${qualification_form_approve_success_msg} ${tender_created_checker_element_locator} | ||
86 | + Execute Javascript ${qualification_form_approve_js_submit_btn_locator} | ||
87 | + Wait Until Page Contains ${qualification_form_approve_success_msg} 60 | ||
88 | + wait until alert is visible ${qualification_form_approve_success_msg} | ||
89 | + run keyword and ignore error run keyword if condition is not none ${qualification_form_approve_success_msg} close current visible alert | ||
90 | + Wait Until Keyword Succeeds 1600 s 20 s Wait For QualificationsPeriodEnd | ||
91 | + | ||
92 | +#qualification | ||
93 | +open tender form qualification | ||
94 | + [Arguments] ${award_num} | ||
95 | + [Documentation] Відкрити форму кваліфікації і потрібну кваліфікацію під номером award_num | ||
96 | + | ||
97 | + run keyword if ${award_num} == 0 wait until page contains element with reloading ${qualification_form_0_open_btn_locator} | ||
98 | + run keyword if ${award_num} == 0 click visible element ${qualification_form_0_open_btn_locator} | ||
99 | +##### BOF - TMP ##### | ||
100 | + run keyword if ${award_num} == 1 or ${award_num} == -1 click visible element ${qualification_form_0_open_btn_locator} | ||
101 | + run keyword if ${award_num} == 2 click visible element ${qualification_form_0_open_btn_locator} | ||
102 | +##### EOF - TMP ##### | ||
103 | +# run keyword if ${award_num} == 1 or ${award_num} == -1 click visible element ${qualification_form_1_open_btn_locator} | ||
104 | + | ||
105 | +copy file qualification | ||
106 | + [Arguments] ${username} ${document} ${award_num} | ||
107 | + [Documentation] Завантажити документ, який знаходиться по шляху document до | ||
108 | + ... постачальника під номером award_num для тендера tender_uaid. | ||
109 | + | ||
110 | + ## copy file to another dir to prevent it deleting | ||
111 | + ${new_doc_name} = Replace String ${document} /tmp/ /tmp/playtender/ | ||
112 | + Copy File ${document} ${new_doc_name} | ||
113 | + Set To Dictionary ${USERS.users['${username}']} qproposal${award_num}_document=${new_doc_name} | ||
114 | + | ||
115 | +confirm award qualification | ||
116 | + [Arguments] ${username} ${award_num} | ||
117 | + [Documentation] Перевести постачальника під номером award_num для тендера tender_uaid | ||
118 | + ... в статус active. | ||
119 | + | ||
120 | +# wait until popup is visible | ||
121 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | ||
122 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | ||
123 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
124 | +# ${doc_isset}= GetDictionaryKeyExist ${USERS.users['${username}']} qproposal${award_num}_document | ||
125 | +# ${doc_name}= Run Keyword If ${doc_isset} GetValueFromDictionaryByKey ${USERS.users['${username}']} qproposal${award_num}_document | ||
126 | +# ... ELSE create_fake_doc | ||
127 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | ||
128 | +# Execute Javascript ${qualification_form_accept_input_locator} | ||
129 | + Execute Javascript $('#qualificationform-decision').val('accept').change() | ||
130 | +# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | ||
131 | + capture page screenshot | ||
132 | + run keyword and ignore error wait until page contains element ${qualification_form_eligible_input_locator} | ||
133 | + capture page screenshot | ||
134 | + run keyword and ignore error click visible element ${qualification_form_eligible_input_locator} | ||
135 | + run keyword and ignore error click visible element ${qualification_form_qualified_input_locator} | ||
136 | + choose file ${add_file_to_qualification_form_locator} ${file_path} | ||
137 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} 60 | ||
138 | + wait until element is visible ${qualification_form_add_document_type_input_locator} 60 | ||
139 | +# submit current visible popup | ||
140 | + | ||
141 | + Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content select[id*="-document_type"]:last').val('winningBid').change() | ||
142 | + capture page screenshot | ||
143 | + click visible element ${qualification_form_add_document_description_btn_locator} | ||
144 | + capture page screenshot | ||
145 | + wait until element is visible ${qualification_form_add_document_description_input_locator} | ||
146 | + input text to exist visible input ${qualification_form_add_document_description_input_locator} test2 | ||
147 | + capture page screenshot | ||
148 | + click visible element ${qualification_form_add_document_close_description_btn_locator} | ||
149 | + capture page screenshot | ||
150 | + | ||
151 | + run keyword and ignore error click visible element ${qualification_ecp_check_input_locator} | ||
152 | + capture page screenshot | ||
153 | + run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_form_submit_success_msg} ${qualification_form_submit_btn_locator} | ||
154 | + capture page screenshot | ||
155 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
156 | +## run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${None} ${qualification_ecp_form_open_locator} | ||
157 | + Execute Javascript $('.fancybox-is-open .fancybox-content button.btn.btn-success').click() | ||
158 | +# click visible element ${qualification_form_submit_btn_locator} | ||
159 | + capture page screenshot | ||
160 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
161 | + wait until element is visible ${qualification_ecp_form_open_locator} 60 | ||
162 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | ||
163 | + capture page screenshot | ||
164 | + run keyword and ignore error Load Sign | ||
165 | + capture page screenshot | ||
166 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
167 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | ||
168 | + capture page screenshot | ||
169 | + run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_after_ecp_form_submit_success_msg} ${None} | ||
170 | + capture page screenshot | ||
171 | +# Wait Until Page Contains ЕЦП/КЕП успішно накладено на рішення, тепер потрібно підтвердити рішення. 60 | ||
172 | +# click visible element xpath=//div[contains(@class, 'jconfirm')]//*[text()='Закрити'] | ||
173 | + | ||
174 | + | ||
175 | +reject award qualification | ||
176 | + [Arguments] ${username} ${award_num} | ||
177 | + [Documentation] Перевести постачальника під номером award_num для тендера tender_uaid | ||
178 | + ... в статус active. | ||
179 | + | ||
180 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | ||
181 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
182 | +# wait until popup is visible | ||
183 | + ${doc_isset} = GetDictionaryKeyExist ${USERS.users['${username}']} qproposal${award_num}_document | ||
184 | +# ${doc_name} = Run Keyword If ${doc_isset} GetValueFromDictionaryByKey ${USERS.users['${username}']} qproposal${award_num}_document | ||
185 | +# ... ELSE GenerateFakeDocument | ||
186 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | ||
187 | + Execute Javascript $('#qualificationform-decision').val('decline').change() | ||
188 | + capture page screenshot | ||
189 | +# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | ||
190 | + wait until page contains element ${qualification_form_reasons_cancellation_input_locator} | ||
191 | + capture page screenshot | ||
192 | + Execute Javascript ${qualification_award_form_title_cancellation_input_locator} | ||
193 | + capture page screenshot | ||
194 | +# input text to exist visible input ${qualification_form_reasons_cancellation_input_locator} GenerateFakeText | ||
195 | + input text to exist visible input ${qualification_form_description_cancellation_input_locator} GenerateFakeText | ||
196 | + | ||
197 | + choose file ${add_file_to_qualification_form_locator} ${file_path} | ||
198 | + wait until element is visible ${qualification_form_add_document_type_input_locator} | ||
199 | +# submit current visible popup | ||
200 | + | ||
201 | + Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('winningBid').change() | ||
202 | + capture page screenshot | ||
203 | + click visible element ${qualification_form_add_document_description_btn_locator} | ||
204 | + wait until element is visible ${qualification_form_add_document_description_input_locator} | ||
205 | + input text to exist visible input ${qualification_form_add_document_description_input_locator} test2 | ||
206 | + click visible element ${qualification_form_add_document_close_description_btn_locator} | ||
207 | + | ||
208 | + submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_cancell_success_msg} ${tender_created_checker_element_locator} | ||
209 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | ||
210 | + capture page screenshot | ||
211 | + run keyword and ignore error Load Sign | ||
212 | + capture page screenshot | ||
213 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
214 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | ||
215 | + capture page screenshot | ||
216 | + run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_after_ecp_form_submit_success_msg} ${None} | ||
217 | + capture page screenshot | ||
218 | + reload page | ||
219 | + | ||
220 | +cancel award qualification | ||
221 | + [Documentation] Відкрити форму кваліфікації і перевести кваліфікацію під номером qualification_num до тендера | ||
222 | + ... tender_uaid в статус cancelled. | ||
223 | + | ||
224 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
225 | +# Execute Javascript ${qualification_form_cancel_input_locator} | ||
226 | + Execute Javascript $('#qualificationform-decision').val('cancel').change() | ||
227 | +# select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | ||
228 | + capture page screenshot | ||
229 | + wait until page contains element ${qualification_form_description_cancellation_input_locator} | ||
230 | + capture page screenshot | ||
231 | + Execute Javascript ${qualification_award_form_title_decline_input_locator} | ||
232 | + input text to exist visible input ${qualification_form_description_cancellation_input_locator} GenerateFakeText | ||
233 | + capture page screenshot | ||
234 | + submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_cancel_success_msg} ${tender_created_checker_element_locator} | ||
235 | + | ||
236 | +#qualification awawd reporting and negotiotion | ||
237 | +confirm award | ||
238 | + [Documentation] Перевести постачальника в статус active. | ||
239 | + | ||
240 | + run keyword and ignore error run keyword if '${mode}' in 'negotiation' Wait Until Page Contains ${award_form_negotiation_submit_success_msg} 60 | ||
241 | + run keyword and ignore error run keyword if '${mode}' in 'negotiation' wait until alert is visible ${award_form_negotiation_submit_success_msg} | ||
242 | + run keyword and ignore error run keyword if '${mode}' in 'negotiation' close current visible alert | ||
243 | + | ||
244 | + capture page screenshot | ||
245 | + capture page screenshot | ||
246 | + wait until page contains element with reloading ${qualification_form_0_open_btn_locator} | ||
247 | + click visible element ${qualification_form_0_open_btn_locator} | ||
248 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 | ||
249 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | ||
250 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
251 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | ||
252 | + Execute Javascript $('#qualificationform-decision').val('accept').change() | ||
253 | + capture page screenshot | ||
254 | + run keyword and ignore error wait until page contains element ${award_form_qualified_input_locator} | ||
255 | + capture page screenshot | ||
256 | + run keyword and ignore error click visible element ${award_form_qualified_input_locator} | ||
257 | + choose file ${add_file_to_qualification_form_locator} ${file_path} | ||
258 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} 60 | ||
259 | + wait until element is visible ${qualification_form_add_document_type_input_locator} 60 | ||
260 | +# submit current visible popup | ||
261 | + | ||
262 | + Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content select[id*="-document_type"]:last').val('winningBid').change() | ||
263 | + capture page screenshot | ||
264 | + click visible element ${qualification_form_add_document_description_btn_locator} | ||
265 | + capture page screenshot | ||
266 | + wait until element is visible ${qualification_form_add_document_description_input_locator} | ||
267 | + input text to exist visible input ${qualification_form_add_document_description_input_locator} test2 | ||
268 | + capture page screenshot | ||
269 | + click visible element ${qualification_form_add_document_close_description_btn_locator} | ||
270 | + capture page screenshot | ||
271 | + | ||
272 | + run keyword and ignore error click visible element ${qualification_ecp_check_input_locator} | ||
273 | + capture page screenshot | ||
274 | + run keyword and ignore error run keyword if '${mode}' in 'reporting' submit form and check result ${qualification_form_submit_btn_locator} ${qualification_form_submit_success_msg} | ||
275 | + capture page screenshot | ||
276 | + run keyword and ignore error run keyword if '${mode}' in 'reporting' wait until page contains element with reloading ${qualification_form_0_open_btn_locator} | ||
277 | + capture page screenshot | ||
278 | + run keyword and ignore error run keyword if '${mode}' in 'reporting' click visible element ${qualification_form_0_open_btn_locator} | ||
279 | + capture page screenshot | ||
280 | + run keyword and ignore error run keyword if '${mode}' in 'reporting' Execute Javascript $('#qualificationform-decision').val('accept').change() | ||
281 | + capture page screenshot | ||
282 | + run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_form_submit_success_msg} ${qualification_form_submit_btn_locator} | ||
283 | + capture page screenshot | ||
284 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
285 | +## run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${None} ${qualification_ecp_form_open_locator} | ||
286 | + Execute Javascript $('.fancybox-is-open .fancybox-content button.btn.btn-success').click() | ||
287 | +# click visible element ${qualification_form_submit_btn_locator} | ||
288 | + capture page screenshot | ||
289 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
290 | + wait until element is visible ${qualification_ecp_form_open_locator} 60 | ||
291 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | ||
292 | + capture page screenshot | ||
293 | + run keyword and ignore error Load Sign | ||
294 | + capture page screenshot | ||
295 | + wait until element is visible ${qualification_form_submit_btn_locator} 60 | ||
296 | + run keyword and ignore error wait until element is visible ${tender_status_active_qualification_value_locator} 10 | ||
297 | + capture page screenshot | ||
298 | + run keyword and ignore error submit form and check result ${qualification_form_submit_btn_locator} ${qualification_award_after_ecp_form_submit_success_msg} ${None} | ||
299 | + capture page screenshot | ||
300 | + | ||
301 | + |
playtender_qualification_variables.robot
0 → 100644
1 | +*** Variables *** | ||
2 | + | ||
3 | +#qualification | ||
4 | +${prequalification_form_0_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row:nth(1) a[href*="/tender/prequalification"] | ||
5 | +${prequalification_form_1_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row:nth(2) a[href*="/tender/prequalification"] | ||
6 | +${prequalification_form_2_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row:last a[href*="/tender/prequalification"] | ||
7 | +${prequalification_form_approve_open_btn_locator} = jquery=.aside__inner a[href*="/tender/prequalification-approve"] | ||
8 | +${prequalification_form_accept_input_locator} = $('#prequalificationform-decision').val('accept').change() | ||
9 | +${prequalification_form_decline_input_locator} = $('#prequalificationform-decision').val('decline').change() | ||
10 | +${prequalification_form_cancel_input_locator} = $('#prequalificationform-decision').val('cancel').change() | ||
11 | +${prequalification_form_eligible_input_locator} = jquery=#prequalificationform-eligible | ||
12 | +${prequalification_form_qualified_input_locator} = jquery=#prequalificationform-qualified | ||
13 | +${qualification_form_reasons_cancellation_input_locator} = jquery=.fancybox-is-open .select2-search__field | ||
14 | +${prequalification_form_title_cancellation_input_locator} = $('#prequalificationform-title').val('Тендерна пропозиція не відповідає вимогам тендерної документації').change() | ||
15 | +${prequalification_form_description_cancellation_input_locator} = jquery=#prequalificationform-description | ||
16 | + | ||
17 | +${qualification_form_submit_success_msg} = Пропозиція прийнята | ||
18 | +${qualification_form_decline_success_msg} = Пропозиція відхилена | ||
19 | +${qualification_form_cancel_success_msg} = Рішення скасоване | ||
20 | +${qualification_form_cancell_success_msg} = Рішення завантажене, тепер потрібно накласти ЕЦП/КЕП. | ||
21 | +${qualification_form_approve_question_msg} = Ви впевнені що бажаєте завершити прекваліфікацію і перейти до наступного етапу? | ||
22 | +${qualification_form_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success | ||
23 | +${qualification_form_approve_submit_btn_locator} = jquery=.jconfirm-box-container .btn.btn-default | ||
24 | +${qualification_form_approve_success_msg} = Прекваліфікація підтверджена, дочекайтесь опублікування на сайті уповноваженого органу. | ||
25 | +${qualification_form_approve_js_submit_btn_locator} = $('.jconfirm-box-container .btn.btn-default').click() | ||
26 | + | ||
27 | +${qualification_form_0_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row a[href*="/tender/qualification"] | ||
28 | +${qualification_form_1_open_btn_locator} = jquery=#bids-pjax .pseudo-table__row:last a[href*="/tender/qualification"] | ||
29 | +${qualification_form_eligible_input_locator} = jquery=#qualificationform-eligible | ||
30 | +${qualification_form_qualified_input_locator} = jquery=#qualificationform-qualified | ||
31 | +${qualification_award_form_submit_success_msg} = Рішення завантажене, тепер потрібно накласти ЕЦП/КЕП. | ||
32 | +${qualification_award_after_ecp_form_submit_success_msg} = Рішення підтверджене, очікує опублікування на сайті уповноваженого органу. | ||
33 | +${qualification_ecp_form_submit_success_msg} = ЕЦП/КЕП успішно накладено | ||
34 | +#${qualification_ecp_form_submit_success_msg} = ЕЦП/КЕП успішно накладено на рішення, тепер потрібно підтвердити рішення. | ||
35 | +${qualification_ecp_form_open_locator} = jquery=.modal.modal-xs.fancybox-content | ||
36 | +${qualification_ecp_check_input_locator} = jquery=input[id$="form-signing"] | ||
37 | +${qualification_award_form_title_cancellation_input_locator} = $('#qualificationform-title').val('Тендерна пропозиція не відповідає вимогам тендерної документації').change() | ||
38 | +${qualification_award_form_title_decline_input_locator} = $('#qualificationform-title').val('Переможець відмовився від підписання договору про закупівлю відповідно до вимог тендерної документації або укладення договору про закупівлю').change() | ||
39 | +${qualification_form_description_cancellation_input_locator} = jquery=#qualificationform-description | ||
40 | +${qualification_form_approve_open_btn_locator} = jquery=.aside__inner a[href*="/tender/qualification-approve"] | ||
41 | +${qualification_form_accept_input_locator} = $('#qualificationform-decision').val('accept').change() | ||
42 | +${qualification_form_decline_input_locator} = $('#qualificationform-decision').val('decline').change() | ||
43 | +${add_file_to_qualification_form_locator} = jquery=.field-qualificationform-documents .js-upload-documents input[type$="file"]:first | ||
44 | +${qualification_form_cancel_input_locator} = $('#qualificationform-decision').val('cancel').change() | ||
45 | +${qualification_form_add_document_type_input_locator} = jquery=.js-dynamic-form-content-item:last .document-type select[id*="-document_type"] | ||
46 | +${qualification_form_add_document_description_btn_locator} = jquery=.js-dynamic-form-content-item:last [href$="#edit"]:last | ||
47 | +${qualification_form_add_document_description_input_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in textarea[id*="-description"].form-control | ||
48 | +${qualification_form_add_document_close_description_btn_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in [href$="#close"] | ||
49 | + | ||
50 | +#award reporting and negotiotion | ||
51 | +${award_form_qualified_input_locator} = jquery=#qualificationform-qualified | ||
52 | +${award_form_negotiation_submit_success_msg} = Інформація о постачальниках успішно онвлена. | ||
53 | + |
@@ -10,38 +10,37 @@ add question | @@ -10,38 +10,37 @@ add question | ||
10 | [Documentation] Створити запитання з question в описі для тендера tender_uaid. | 10 | [Documentation] Створити запитання з question в описі для тендера tender_uaid. |
11 | 11 | ||
12 | click visible element ${question_form_open_btn_locator} | 12 | click visible element ${question_form_open_btn_locator} |
13 | - capture page screenshot | ||
14 | click visible element ${question_form_open_create_btn_locator} | 13 | click visible element ${question_form_open_create_btn_locator} |
15 | - | ||
16 | -# click visible element jquery=#tender-part-pjax a[href*="/tender/question-create"]:first | ||
17 | - capture page screenshot | 14 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 |
15 | + wait until element is visible ${question_form_create_questionform_title_input_locator} 60 | ||
18 | wait until popup is visible | 16 | wait until popup is visible |
19 | # input text to exist visible input ${question_form_open_form_answer_input_locator} ${question.data.answer} | 17 | # input text to exist visible input ${question_form_open_form_answer_input_locator} ${question.data.answer} |
20 | Run Keyword If '${type}' == 'tender' Select From List By Label ${question_form_create_questionform_related_of_input_locator} Закупівля | 18 | Run Keyword If '${type}' == 'tender' Select From List By Label ${question_form_create_questionform_related_of_input_locator} Закупівля |
21 | Run Keyword If '${type}' == 'lot' Select From List By Label ${question_form_create_questionform_related_of_input_locator} Лот | 19 | Run Keyword If '${type}' == 'lot' Select From List By Label ${question_form_create_questionform_related_of_input_locator} Лот |
22 | - Run Keyword If '${type}' == 'lot' Click Element ${question_form_create_questionform_related_lot_input_locator} | 20 | + Run Keyword If '${type}' == 'lot' run keyword and ignore error Click Element ${question_form_create_questionform_related_lot_input_locator} |
23 | ${question_form_create_questionform_related_lot_input_locator} = Run Keyword If '${type}' == 'lot' replace string ${question_form_create_questionform_related_lot_input_locator_tpl} %type_id% ${type_id} | 21 | ${question_form_create_questionform_related_lot_input_locator} = Run Keyword If '${type}' == 'lot' replace string ${question_form_create_questionform_related_lot_input_locator_tpl} %type_id% ${type_id} |
24 | - Run Keyword If '${type}' == 'lot' Click Element ${question_form_create_questionform_related_lot_input_locator} | 22 | + Run Keyword If '${type}' == 'lot' run keyword and ignore error Click Element ${question_form_create_questionform_related_lot_input_locator} |
25 | Run Keyword If '${type}' == 'item' Select From List By Label ${question_form_create_questionform_related_of_input_locator} Предмет закупівлі | 23 | Run Keyword If '${type}' == 'item' Select From List By Label ${question_form_create_questionform_related_of_input_locator} Предмет закупівлі |
26 | - Run Keyword If '${type}' == 'item' Click Element ${question_form_create_questionform_related_item_input_locator} | 24 | + Run Keyword If '${type}' == 'item' run keyword and ignore error Click Element ${question_form_create_questionform_related_item_input_locator} |
27 | ${question_form_create_questionform_related_item_input_locator} = Run Keyword If '${type}' == 'item' replace string ${question_form_create_questionform_related_item_input_locator_tpl} %type_id% ${type_id} | 25 | ${question_form_create_questionform_related_item_input_locator} = Run Keyword If '${type}' == 'item' replace string ${question_form_create_questionform_related_item_input_locator_tpl} %type_id% ${type_id} |
28 | - Run Keyword If '${type}' == 'item' Click Element ${question_questionform_related_item_input_locator} | 26 | + Run Keyword If '${type}' == 'item' run keyword and ignore error Click Element ${question_questionform_related_item_input_locator} |
29 | input text to exist visible input ${question_form_create_questionform_title_input_locator} ${question.data.title} | 27 | input text to exist visible input ${question_form_create_questionform_title_input_locator} ${question.data.title} |
30 | input text to exist visible input ${question_form_create_questionform_description_input_locator} ${question.data.description} | 28 | input text to exist visible input ${question_form_create_questionform_description_input_locator} ${question.data.description} |
31 | - click visible element ${question_form_answer_submit_btn_locator} | 29 | + submit form and check result ${question_form_answer_submit_btn_locator} ${question_form_submit_success_msg} ${tender_created_checker_element_locator} |
30 | +# click visible element ${question_form_answer_submit_btn_locator} | ||
32 | wait until page does not contain element with reloading ${tender_sync_element_locator} | 31 | wait until page does not contain element with reloading ${tender_sync_element_locator} |
33 | 32 | ||
34 | answer question | 33 | answer question |
35 | [Arguments] ${answer_data} ${question_id} | 34 | [Arguments] ${answer_data} ${question_id} |
36 | [Documentation] Дати відповідь answer_data на запитання з question_id в описі для тендера tender_uaid. | 35 | [Documentation] Дати відповідь answer_data на запитання з question_id в описі для тендера tender_uaid. |
37 | 36 | ||
38 | - run keyword and ignore error save tender form and wait synchronization | ||
39 | click visible element ${question_form_open_btn_locator} | 37 | click visible element ${question_form_open_btn_locator} |
40 | ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} | 38 | ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} |
41 | wait until page contains element with reloading ${question_open_form_answer_locator} | 39 | wait until page contains element with reloading ${question_open_form_answer_locator} |
42 | ${question_form_open_form_answer_btn_locator} = replace string ${question_form_open_form_answer_btn_locator_tpl} %title% ${question_id} | 40 | ${question_form_open_form_answer_btn_locator} = replace string ${question_form_open_form_answer_btn_locator_tpl} %title% ${question_id} |
43 | click visible element ${question_form_open_form_answer_btn_locator} | 41 | click visible element ${question_form_open_form_answer_btn_locator} |
44 | - wait until popup is visible | 42 | + Wait Until Page Contains ${popup_opened_content_success_locator} 60 |
43 | + wait until element is visible ${question_form_open_form_answer_input_locator} 60 | ||
45 | input text to exist visible input ${question_form_open_form_answer_input_locator} ${answer_data.data.answer} | 44 | input text to exist visible input ${question_form_open_form_answer_input_locator} ${answer_data.data.answer} |
46 | submit form and check result ${question_form_answer_submit_btn_locator} ${question_form_submit_answer_success_msg} ${tender_created_checker_element_locator} | 45 | submit form and check result ${question_form_answer_submit_btn_locator} ${question_form_submit_answer_success_msg} ${tender_created_checker_element_locator} |
47 | 46 | ||
@@ -52,11 +51,9 @@ get question information | @@ -52,11 +51,9 @@ get question information | ||
52 | 51 | ||
53 | capture page screenshot | 52 | capture page screenshot |
54 | run keyword and ignore error save tender form and wait synchronization | 53 | run keyword and ignore error save tender form and wait synchronization |
55 | - capture page screenshot | ||
56 | click visible element ${question_form_open_btn_locator} | 54 | click visible element ${question_form_open_btn_locator} |
57 | ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} | 55 | ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} |
58 | wait until page contains element with reloading ${question_open_form_answer_locator} | 56 | wait until page contains element with reloading ${question_open_form_answer_locator} |
59 | - capture page screenshot | ||
60 | ${question_title_value_locator} = Run Keyword If 'title' == '${field_name}' replace string ${question_title_value_locator_tpl} %title% ${question_id} | 57 | ${question_title_value_locator} = Run Keyword If 'title' == '${field_name}' replace string ${question_title_value_locator_tpl} %title% ${question_id} |
61 | ${question_answer_value_locator} = Run Keyword If 'answer' == '${field_name}' replace string ${question_answer_value_locator_tpl} %title% ${question_id} | 58 | ${question_answer_value_locator} = Run Keyword If 'answer' == '${field_name}' replace string ${question_answer_value_locator_tpl} %title% ${question_id} |
62 | ${question_description_value_locator} = Run Keyword If 'description' == '${field_name}' replace string ${question_description_value_locator_tpl} %title% ${question_id} | 59 | ${question_description_value_locator} = Run Keyword If 'description' == '${field_name}' replace string ${question_description_value_locator_tpl} %title% ${question_id} |
@@ -24,3 +24,5 @@ ${question_answer_value_locator_tpl} = jquery=#tend | @@ -24,3 +24,5 @@ ${question_answer_value_locator_tpl} = jquery=#tend | ||
24 | ${question_title_value_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] h4.callout__title | 24 | ${question_title_value_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] h4.callout__title |
25 | ${question_description_value_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] .info-row.description span.value | 25 | ${question_description_value_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] .info-row.description span.value |
26 | 26 | ||
27 | +${popup_locator} = jquery=.fancybox-is-open .fancybox-slide--current .fancybox-content | ||
28 | + |
1 | # -*- coding: utf-8 - | 1 | # -*- coding: utf-8 - |
2 | import re | 2 | import re |
3 | import copy | 3 | import copy |
4 | +import urllib | ||
5 | +import urllib3 | ||
4 | 6 | ||
5 | import dateutil.parser | 7 | import dateutil.parser |
6 | from iso8601 import parse_date | 8 | from iso8601 import parse_date |
7 | from robot.libraries.BuiltIn import BuiltIn | 9 | from robot.libraries.BuiltIn import BuiltIn |
10 | +from datetime import datetime, timedelta | ||
11 | +import pytz | ||
8 | 12 | ||
13 | +TZ = pytz.timezone('Europe/Kiev') | ||
9 | 14 | ||
10 | def get_library(): | 15 | def get_library(): |
11 | return BuiltIn().get_library_instance('Selenium2Library') | 16 | return BuiltIn().get_library_instance('Selenium2Library') |
@@ -331,3 +336,16 @@ def set_value_minimalStepPercentage(value): | @@ -331,3 +336,16 @@ def set_value_minimalStepPercentage(value): | ||
331 | def convert_esco__float_to_string(number): | 336 | def convert_esco__float_to_string(number): |
332 | return '{0:.5f}'.format(float(number)) | 337 | return '{0:.5f}'.format(float(number)) |
333 | 338 | ||
339 | +def convert_string_to_float(number): | ||
340 | + return float(number) | ||
341 | + | ||
342 | +def download_file(url, file_name, output_dir): | ||
343 | + urllib.urlretrieve(url, ('{}/{}'.format(output_dir, file_name))) | ||
344 | + | ||
345 | +def parse_complaintPeriod_date(date_string): | ||
346 | + date_str = datetime.strptime(date_string, "%d.%m.%Y %H:%M") | ||
347 | + date_str -= timedelta(minutes=5) | ||
348 | + date = datetime(date_str.year, date_str.month, date_str.day, date_str.hour, date_str.minute, date_str.second, | ||
349 | + date_str.microsecond) | ||
350 | + date = TZ.localize(date).isoformat() | ||
351 | + return date |
@@ -143,7 +143,9 @@ fill tender general info | @@ -143,7 +143,9 @@ fill tender general info | ||
143 | ${cause} = get from dictionary by keys ${data} cause | 143 | ${cause} = get from dictionary by keys ${data} cause |
144 | run keyword if condition is not none ${cause} select from visible list by value ${tender_form_general_cause_input_locator} ${cause} | 144 | run keyword if condition is not none ${cause} select from visible list by value ${tender_form_general_cause_input_locator} ${cause} |
145 | ${cause_description} = get from dictionary by keys ${data} causeDescription | 145 | ${cause_description} = get from dictionary by keys ${data} causeDescription |
146 | - run keyword if condition is not none ${cause_description} input text to visible input ${tender_form_general_cause_description_input_locator} ${description} | 146 | + run keyword if condition is not none ${cause_description} input text to visible input ${tender_form_general_cause_description_input_locator} ${cause_description} |
147 | +#complaints | ||
148 | + Run Keyword If '${SUITE_NAME}' == 'Tests Files.Complaints' click visible element ${tender_form_auction_skip_mode_input_locator} | ||
147 | submit current visible popup | 149 | submit current visible popup |
148 | 150 | ||
149 | fill tender form items | 151 | fill tender form items |
@@ -217,7 +219,8 @@ fill tender form features | @@ -217,7 +219,8 @@ fill tender form features | ||
217 | click visible element ${add_btn_locator} | 219 | click visible element ${add_btn_locator} |
218 | wait until popup is visible | 220 | wait until popup is visible |
219 | :FOR ${feature_attributes} IN @{feature_attributes_array} | 221 | :FOR ${feature_attributes} IN @{feature_attributes_array} |
220 | - \ click visible element ${tender_form_features_panel_edit_btn_locator} | 222 | +# \ click visible element ${tender_form_features_panel_edit_btn_locator} |
223 | + \ execute javascript ${tender_form_features_panel_edit_btn_locator} | ||
221 | \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | 224 | \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator} |
222 | \ fill feature form in opened popup ${feature_attributes} | 225 | \ fill feature form in opened popup ${feature_attributes} |
223 | submit current visible popup | 226 | submit current visible popup |
@@ -335,8 +338,11 @@ fill tender required documents | @@ -335,8 +338,11 @@ fill tender required documents | ||
335 | 338 | ||
336 | fill tender from award reporting | 339 | fill tender from award reporting |
337 | [Arguments] ${budget} ${award_attributes_array} | 340 | [Arguments] ${budget} ${award_attributes_array} |
338 | - [Documentation] заповнення номенклатури тендеру | 341 | + [Documentation] заповнення переможця reporting тендеру |
339 | 342 | ||
343 | + run keyword and ignore error click visible element ${tender_form_general_panel_update_award_negotiation_btn_locator} | ||
344 | + run keyword and ignore error Run Keyword If "${TEST_NAME}" == "Можливість створити переговорну процедуру" click visible element ${tender_form_general_panel_add_award_negotiation_btn_locator} | ||
345 | + run keyword and ignore error wait until popup is visible | ||
340 | run keyword and ignore error click visible element ${tender_form_general_panel_update_award_reporting_btn_locator} | 346 | run keyword and ignore error click visible element ${tender_form_general_panel_update_award_reporting_btn_locator} |
341 | wait until popup is visible | 347 | wait until popup is visible |
342 | fill award reporting form in opened popup ${budget} ${award_attributes_array} | 348 | fill award reporting form in opened popup ${budget} ${award_attributes_array} |
@@ -394,12 +400,48 @@ add document in lot | @@ -394,12 +400,48 @@ add document in lot | ||
394 | [Arguments] ${filepath} ${lot_id} | 400 | [Arguments] ${filepath} ${lot_id} |
395 | [Documentation] Завантажити в лот (з ідентіфікатором ${lot_id}) документ, який знаходиться по шляху filepath. | 401 | [Documentation] Завантажити в лот (з ідентіфікатором ${lot_id}) документ, який знаходиться по шляху filepath. |
396 | 402 | ||
397 | - capture page screenshot | ||
398 | ${open_form_add_doc_lot_btn_locator} = replace string ${tender_form_lot_panel_add_document_btn_locator_tpl} %lot_id% ${lot_id} | 403 | ${open_form_add_doc_lot_btn_locator} = replace string ${tender_form_lot_panel_add_document_btn_locator_tpl} %lot_id% ${lot_id} |
399 | - capture page screenshot | ||
400 | - click visible element and wait until page contains element ${open_form_add_doc_lot_btn_locator} jquery=.modal.modal-form.js-form-popup.fancybox-content | ||
401 | - capture page screenshot | 404 | + click visible element and wait until page contains element ${open_form_add_doc_lot_btn_locator} jquery=.modal.modal-form.js-form-popup.fancybox-content |
402 | choose file ${add_file_to_form_locator} ${filepath} | 405 | choose file ${add_file_to_form_locator} ${filepath} |
403 | wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | 406 | wait until page does not contain element ${popup_dynamic_form_loading_element_locator} |
404 | submit current visible popup | 407 | submit current visible popup |
405 | 408 | ||
409 | +confirm-stage2 | ||
410 | + [Documentation] Перевести тендер tender_uaid в статус active.stage2.waiting. | ||
411 | + | ||
412 | + Wait Until Keyword Succeeds 300 s 20 s Wait For stage2button | ||
413 | + click visible element ${tender_stage2_open_btn_locator} | ||
414 | + Wait Until Page Contains ${tender_stage2_submit_success_msg} 60 | ||
415 | +# click visible element ${tender_stage2_submit_success_btn_locator} | ||
416 | +# submit form and check result ${tender_stage2_submit_success_btn_locator} ${tender_stage2_submit_alert_success_msg} ${tender_created_checker_element_locator} | ||
417 | + execute javascript ${tender_stage2_submit_js_success_btn_locator} | ||
418 | + Wait Until Page Contains ${tender_stage2_submit_alert_success_msg} 60 | ||
419 | + wait until alert is visible ${tender_stage2_submit_alert_success_msg} | ||
420 | + run keyword and ignore error close current visible alert | ||
421 | + | ||
422 | + | ||
423 | +activate stage 2 | ||
424 | + [Documentation] Перевести тендер tender_uaid в статус active.tendering. | ||
425 | + | ||
426 | + open popup by btn locator ${tender_form_general_panel_edit_btn_locator} | ||
427 | + ${tender_end_date} = Get Current Date increment=00:25:00 result_format=%Y-%m-%dT%H:%M:%S.%f%z+02:00 | ||
428 | +# ${tender_end_date} = Get Current Date increment=00:25:00 result_format=%d.%m.%Y %H:%M | ||
429 | + input datetime to visible input ${tender_tender_period_end_date_input_locator} ${tender_end_date} | ||
430 | + capture page screenshot | ||
431 | + click visible element ${tender_form_general_panel_draft_mode_input_locator} | ||
432 | + capture page screenshot | ||
433 | + submit current visible popup | ||
434 | + capture page screenshot | ||
435 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | ||
436 | + click visible element ${tender_form_general_panel_document_stage2_input_locator} | ||
437 | + choose file ${add_file_to_form_locator} ${file_path} | ||
438 | + wait until element is visible ${stage2_form_add_document_type_input_locator} | ||
439 | + click visible element ${stage2_form_add_document_description_btn_locator} | ||
440 | + capture page screenshot | ||
441 | + wait until element is visible ${stage2_form_add_document_description_input_locator} | ||
442 | + input text to exist visible input ${stage2_form_add_document_description_input_locator} test2 | ||
443 | + click visible element ${stage2_form_add_document_close_description_btn_locator} | ||
444 | + capture page screenshot | ||
445 | + submit current visible popup | ||
446 | + | ||
447 | + |
@@ -81,6 +81,7 @@ ${tender_enquiry_period_end_date_input_locator} = jquery=[id$= | @@ -81,6 +81,7 @@ ${tender_enquiry_period_end_date_input_locator} = jquery=[id$= | ||
81 | ${tender_tender_period_start_date_input_locator} = jquery=[id$="form-tender_period_start_date"] | 81 | ${tender_tender_period_start_date_input_locator} = jquery=[id$="form-tender_period_start_date"] |
82 | ${tender_tender_period_end_date_input_locator} = jquery=[id$="form-tender_period_end_date"] | 82 | ${tender_tender_period_end_date_input_locator} = jquery=[id$="form-tender_period_end_date"] |
83 | ${tender_tender_quick_mode_locator} = jquery=[id$="form-quick_mode"] | 83 | ${tender_tender_quick_mode_locator} = jquery=[id$="form-quick_mode"] |
84 | + | ||
84 | #esco | 85 | #esco |
85 | ${tender_form_general_funding_kind_input_locator} = id=tenderescoform-funding_kind | 86 | ${tender_form_general_funding_kind_input_locator} = id=tenderescoform-funding_kind |
86 | ${tender_form_general_nbu_discount_rate_input_locator} = id=tenderescoform-nbu_discount_rate | 87 | ${tender_form_general_nbu_discount_rate_input_locator} = id=tenderescoform-nbu_discount_rate |
@@ -95,8 +96,12 @@ ${tender_form_general_agreement_duration_days_input_locator} = jquery=[id$= | @@ -95,8 +96,12 @@ ${tender_form_general_agreement_duration_days_input_locator} = jquery=[id$= | ||
95 | ${tender_form_general_cause_input_locator} = jquery=[id$="form-cause"] | 96 | ${tender_form_general_cause_input_locator} = jquery=[id$="form-cause"] |
96 | ${tender_form_general_cause_description_input_locator} = jquery=[id$="form-cause_description"] | 97 | ${tender_form_general_cause_description_input_locator} = jquery=[id$="form-cause_description"] |
97 | 98 | ||
99 | +#Tests Files.Complaints | ||
100 | +${tender_form_auction_skip_mode_input_locator} = jquery=input[id$="form-auction_skip_mode"] | ||
101 | + | ||
98 | ${tender_form_general_panel_add_feature_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="features"] | 102 | ${tender_form_general_panel_add_feature_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="features"] |
99 | -${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] | 103 | +${tender_form_features_panel_edit_btn_locator} = $('.fancybox-content [href$="#add-features"]').trigger("click") |
104 | +#${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] | ||
100 | ${feature_form_popup_title_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title"]:first | 105 | ${feature_form_popup_title_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title"]:first |
101 | ${feature_form_popup_description_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-description"]:first | 106 | ${feature_form_popup_description_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-description"]:first |
102 | ${feature_form_popup_title_en_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title_en"]:first | 107 | ${feature_form_popup_title_en_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title_en"]:first |
@@ -198,28 +203,36 @@ ${tender_milestones_2_duration_days_value_type} = integer | @@ -198,28 +203,36 @@ ${tender_milestones_2_duration_days_value_type} = integer | ||
198 | ${tender_milestones_2_duration_type_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.duration_type | 203 | ${tender_milestones_2_duration_type_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.duration_type |
199 | ${tender_value_amount_value_locator} = jquery=#tender-general-info .budget-amount.hidden | 204 | ${tender_value_amount_value_locator} = jquery=#tender-general-info .budget-amount.hidden |
200 | ${tender_value_amount_value_type} = float | 205 | ${tender_value_amount_value_type} = float |
201 | -${tender_value_currency_value_locator} = jquery= | ||
202 | -${tender_value_valueAddedTaxIncluded_value_locator} = jquery= | 206 | +${tender_value_currency_value_locator} = jquery=#tender-general-info .budget-currency.hidden |
207 | +${tender_value_valueAddedTaxIncluded_value_locator} = jquery=#tender-general-info .budget-tax-included.hidden | ||
203 | ${tender_minimalStep_amount_value_locator} = jquery=#tender-general-info .minimal-step-source.hidden | 208 | ${tender_minimalStep_amount_value_locator} = jquery=#tender-general-info .minimal-step-source.hidden |
204 | ${tender_minimalStep_amount_value_type} = float | 209 | ${tender_minimalStep_amount_value_type} = float |
210 | +${tender_minimalStepPercentage_value_locator} = jquery=#tender-general-info .minimal-step-percentage-source.hidden | ||
211 | +${tender_fundingKind_value_locator} = jquery=#tender-general-info .funding-kind-source.hidden | ||
212 | +${tender_yearlyPaymentsPercentageRange_value_locator} = jquery=#tender-general-info .yearly-payments-percentage-range-source.hidden | ||
205 | ${tender_procuringEntity_name_value_locator} = jquery=#tender-part-pjax .info-row.organization span.value > span | 213 | ${tender_procuringEntity_name_value_locator} = jquery=#tender-part-pjax .info-row.organization span.value > span |
206 | ${tender_enquiryPeriod_startDate_value_locator} = jquery=#tender-part-pjax .info-row.enquiry-period-start-date.hidden | 214 | ${tender_enquiryPeriod_startDate_value_locator} = jquery=#tender-part-pjax .info-row.enquiry-period-start-date.hidden |
207 | ${tender_enquiryPeriod_endDate_value_locator} = jquery=#tender-part-pjax .info-row.enquiry-period-end-date.hidden | 215 | ${tender_enquiryPeriod_endDate_value_locator} = jquery=#tender-part-pjax .info-row.enquiry-period-end-date.hidden |
208 | ${tender_tenderPeriod_startDate_value_locator} = jquery=#tender-part-pjax .info-row.tender-period-start-date.hidden | 216 | ${tender_tenderPeriod_startDate_value_locator} = jquery=#tender-part-pjax .info-row.tender-period-start-date.hidden |
209 | ${tender_tenderPeriod_endDate_value_locator} = jquery=#tender-part-pjax .info-row.tender-period-end-date.hidden | 217 | ${tender_tenderPeriod_endDate_value_locator} = jquery=#tender-part-pjax .info-row.tender-period-end-date.hidden |
218 | +${tender_qualificationPeriod_endDate_value_locator} = jquery=#tender-general-info .prequalification-period .value .end-date | ||
219 | +#negotiation | ||
220 | +${tender_cause_value_locator} = jquery=#tender-general-info .cause-source.hidden | ||
221 | +${tender_causeDescription_value_locator} = jquery=#tender-general-info .cause-description .value | ||
210 | 222 | ||
211 | -${tender_items_0_description_value_locator} = jquery=#tender-part-pjax .info-row.tender-period-end-date.hidden | 223 | +${tender_items_0_description_value_locator} = jquery=#tender-part-pjax .tabs__pane--visible .pseudo-table .item-item-wrapper .textvalue.hidden |
212 | 224 | ||
213 | #lots | 225 | #lots |
214 | ${tender_lot_switch_tabs_lot_btn_locator_tpl} jquery=#lots .tabs__list .tabs__item span.tabs__tab-big-text:contains("%lot_id%") | 226 | ${tender_lot_switch_tabs_lot_btn_locator_tpl} jquery=#lots .tabs__list .tabs__item span.tabs__tab-big-text:contains("%lot_id%") |
215 | ${tender_lot_1_tabs_item_btn_locator} jquery=#lots .tabs__item:first > a | 227 | ${tender_lot_1_tabs_item_btn_locator} jquery=#lots .tabs__item:first > a |
216 | ${tender_lot_title_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue:first | 228 | ${tender_lot_title_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue:first |
217 | -${tender_lot_description_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue.hidden | 229 | +${tender_lot_description_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue:last |
230 | +#${tender_lot_description_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible #text-modal-description div.textvalue | ||
218 | ${tender_lot_value_amount_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | 231 | ${tender_lot_value_amount_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden |
219 | ${tender_lot_value_amount_value_type} = float | 232 | ${tender_lot_value_amount_value_type} = float |
220 | -${tender_lot_value_currency_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | 233 | +${tender_lot_value_currency_value_locator} = jquery=#tender-general-info .budget-currency.hidden |
221 | ${tender_lot_value_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | 234 | ${tender_lot_value_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden |
222 | -${tender_lot_minimal_step_amount_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | 235 | +${tender_lot_minimal_step_amount_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .minimal-step-source.hidden |
223 | ${tender_lot_minimal_step_amount_value_type} = float | 236 | ${tender_lot_minimal_step_amount_value_type} = float |
224 | ${tender_lot_minimal_step_amount_currency_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | 237 | ${tender_lot_minimal_step_amount_currency_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden |
225 | ${tender_lot_minimal_step_amount_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | 238 | ${tender_lot_minimal_step_amount_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden |
@@ -239,7 +252,8 @@ ${tender_form_lots_edit_lot1_btn_locator} = jquery=#Lots | @@ -239,7 +252,8 @@ ${tender_form_lots_edit_lot1_btn_locator} = jquery=#Lots | ||
239 | ${tender_form_lots_add_item_btn_locator} = jquery=#Lots #collapseLots #Lots0 .actions-wrapper a.js-form-popup-add | 252 | ${tender_form_lots_add_item_btn_locator} = jquery=#Lots #collapseLots #Lots0 .actions-wrapper a.js-form-popup-add |
240 | ${tender_form_lots_remove_item_btn_locator_tpl} = jquery=#collapseLots0 .js-form-popup-panel[data-title*="%item_id%"] .actions-wrapper .js-form-popup-remove | 253 | ${tender_form_lots_remove_item_btn_locator_tpl} = jquery=#collapseLots0 .js-form-popup-panel[data-title*="%item_id%"] .actions-wrapper .js-form-popup-remove |
241 | ${tender_lots_remove_item_form_submit_success_msg} = Ви дійсно бажаєте видалити цей елемент? | 254 | ${tender_lots_remove_item_form_submit_success_msg} = Ви дійсно бажаєте видалити цей елемент? |
242 | -${not_alert_opened_close_btn_locator} = jquery=.animated-content .js-btn-confirm | 255 | +#${not_alert_opened_close_btn_locator} = jquery=.animated-content .js-btn-confirm |
256 | +${not_alert_opened_close_btn_locator} = $('.animated-content .js-btn-confirm').trigger("click") | ||
243 | ${tender_form_lots_add_item_reporting_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last #Items0 .js-form-popup-update | 257 | ${tender_form_lots_add_item_reporting_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last #Items0 .js-form-popup-update |
244 | ##### EOF - TMP ##### | 258 | ##### EOF - TMP ##### |
245 | 259 | ||
@@ -249,6 +263,8 @@ ${tender_item_2_tabs_item_btn_locator} jquery=.tabs | @@ -249,6 +263,8 @@ ${tender_item_2_tabs_item_btn_locator} jquery=.tabs | ||
249 | ${tender_item_3_tabs_item_btn_locator} jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(2) | 263 | ${tender_item_3_tabs_item_btn_locator} jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(2) |
250 | 264 | ||
251 | ${tender_form_general_panel_update_award_reporting_btn_locator} = jquery=#Award .js-form-popup-update | 265 | ${tender_form_general_panel_update_award_reporting_btn_locator} = jquery=#Award .js-form-popup-update |
266 | +${tender_form_general_panel_update_award_negotiation_btn_locator} = jquery=.js-form-popup-panel [data-attribute="awards"] .actions-wrapper .js-form-popup-update | ||
267 | +${tender_form_general_panel_add_award_negotiation_btn_locator} = jquery=.modal.modal-form [href="#add-awards"] | ||
252 | 268 | ||
253 | #add\remove feature | 269 | #add\remove feature |
254 | #${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] | 270 | #${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] |
@@ -261,7 +277,8 @@ ${tender_feature_form_submit_success_msg} = Ви впеР| @@ -261,7 +277,8 @@ ${tender_feature_form_submit_success_msg} = Ви впеР| ||
261 | ${tender_feature_dell_submit_btn_locator} = jquery=.animated-content .js-btn-confirm | 277 | ${tender_feature_dell_submit_btn_locator} = jquery=.animated-content .js-btn-confirm |
262 | 278 | ||
263 | ${tender_form_general_tender_plan_id_locator} = jquery=[id$="form-plan_id"] | 279 | ${tender_form_general_tender_plan_id_locator} = jquery=[id$="form-plan_id"] |
264 | -${tender_feature_switch_dell_btn_locator_tpl} = jquery=.fancybox-is-open .nav.nav-pills.js-nav.allow-empty li[data-title*="%feature_id%"] a[href*="#features"] | 280 | +#${tender_feature_switch_dell_btn_locator_tpl} = jquery=.fancybox-is-open .nav.nav-pills.js-nav.allow-empty li[data-title*="%feature_id%"] a[href*="#features"] |
281 | +${tender_feature_switch_dell_btn_locator_tpl} = $('.fancybox-is-open .nav.nav-pills.js-nav.allow-empty li[data-title*="%feature_id%"] a[href*="#features"]').click() | ||
265 | 282 | ||
266 | #award reporting | 283 | #award reporting |
267 | ${tender_form_award_organization_name_locator} = jquery=[id$="-award_organization_name"] | 284 | ${tender_form_award_organization_name_locator} = jquery=[id$="-award_organization_name"] |
@@ -276,4 +293,23 @@ ${tender_form_award_organization_contact_point_email_locator} = jquery=[id$= | @@ -276,4 +293,23 @@ ${tender_form_award_organization_contact_point_email_locator} = jquery=[id$= | ||
276 | ${tender_form_award_organization_contact_point_phone_locator} = jquery=[id$="-award_organization_contact_point_phone"] | 293 | ${tender_form_award_organization_contact_point_phone_locator} = jquery=[id$="-award_organization_contact_point_phone"] |
277 | ${tender_form_award_budget_locator} = jquery=[id$="-award_value_amount"] | 294 | ${tender_form_award_budget_locator} = jquery=[id$="-award_value_amount"] |
278 | 295 | ||
296 | +#stage2button | ||
297 | +${tender_stage2_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/confirm-stage2"] | ||
298 | +${tender_stage2_submit_success_msg} = Ви впевнені що бажаєте підтвердити готовність переходу до другого етапу? | ||
299 | +${tender_stage2_submit_success_btn_locator} = jquery=.jconfirm-box.animated-content .js-btn-confirm | ||
300 | +${tender_stage2_submit_js_success_btn_locator} = $('.jconfirm-box.animated-content .js-btn-confirm').click() | ||
301 | +${tender_stage2_submit_alert_success_msg} = Підтвердження успішно надане. | ||
302 | +#search | ||
303 | +${tender_form_search_btn_locator} = jquery=#DymamicSearch .dynamic-search-submit .js-submit-btn | ||
304 | + | ||
305 | +${popup_opened_content_success_locator} = Відмінити | ||
306 | +${tender_form_general_panel_edit_btn_locator} = jquery=#General #headingGeneral .actions-wrapper .js-form-popup-update | ||
307 | +${tender_form_general_panel_draft_mode_input_locator} = jquery=[id*="-draft_mode"] | ||
308 | +${tender_form_general_panel_document_stage2_input_locator} = jquery=#collapseGeneral .actions-wrapper .js-btn-add-form-popup-panel[data-attribute="documents"] | ||
309 | +${stage2_form_add_document_type_input_locator} = jquery=.js-dynamic-form-content-item:last .document-type select[id*="-document_type"] | ||
310 | +${stage2_form_add_document_description_btn_locator} = jquery=.js-dynamic-form-content-item:last [href$="#edit"]:last | ||
311 | +${stage2_form_add_document_description_input_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in textarea[id*="-description"].form-control | ||
312 | +${stage2_form_add_document_close_description_btn_locator} = jquery=.js-dynamic-form-content-item:last .popover.fade.top.in [href$="#close"] | ||
313 | + | ||
314 | + | ||
279 | 315 |
@@ -14,9 +14,12 @@ get value from features | @@ -14,9 +14,12 @@ get value from features | ||
14 | [Arguments] ${feature_id} ${field_name} | 14 | [Arguments] ${feature_id} ${field_name} |
15 | [Documentation] Отримати значення поля field_name з нецінового показника з feature_id в описі для тендера tender_uaid. | 15 | [Documentation] Отримати значення поля field_name з нецінового показника з feature_id в описі для тендера tender_uaid. |
16 | 16 | ||
17 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | ||
18 | + ${tender_features_new_value_locator} = replace string ${tender_features_new_value_locator_tpl} %feature_id% ${feature_id} | ||
19 | + wait until page contains element with reloading ${tender_features_new_value_locator} | ||
17 | ${return_value} = Run Keyword If 'title' == '${field_name}' Отримати інформацію із нецінового показника title ${feature_id} | 20 | ${return_value} = Run Keyword If 'title' == '${field_name}' Отримати інформацію із нецінового показника title ${feature_id} |
18 | ... ELSE IF 'description' == '${field_name}' Отримати інформацію із нецінового показника description ${feature_id} | 21 | ... ELSE IF 'description' == '${field_name}' Отримати інформацію із нецінового показника description ${feature_id} |
19 | - ... ELSE IF 'featureOf' == '${field_name}' Отримати інформацію із нецінового показника featureOf ${feature_id]} | 22 | + ... ELSE IF 'featureOf' == '${field_name}' Отримати інформацію із нецінового показника featureOf ${feature_id} |
20 | [return] ${return_value} | 23 | [return] ${return_value} |
21 | 24 | ||
22 | Отримати інформацію із нецінового показника title | 25 | Отримати інформацію із нецінового показника title |
@@ -32,7 +35,7 @@ get value from features | @@ -32,7 +35,7 @@ get value from features | ||
32 | [Documentation] Отримати значення поля description з нецінового показника з feature_id в описі для тендера tender_uaid. | 35 | [Documentation] Отримати значення поля description з нецінового показника з feature_id в описі для тендера tender_uaid. |
33 | 36 | ||
34 | ${tender_features_description_value_locator} = replace string ${tender_features_description_value_locator_tpl} %feature_id% ${feature_id} | 37 | ${tender_features_description_value_locator} = replace string ${tender_features_description_value_locator_tpl} %feature_id% ${feature_id} |
35 | - ${return_value} = get text ${tender_features_title_value_locator} | 38 | + ${return_value} = get value by locator on opened page ${tender_features_description_value_locator} |
36 | [return] ${return_value} | 39 | [return] ${return_value} |
37 | 40 | ||
38 | Отримати інформацію із нецінового показника featureOf | 41 | Отримати інформацію із нецінового показника featureOf |
@@ -40,7 +43,7 @@ get value from features | @@ -40,7 +43,7 @@ get value from features | ||
40 | [Documentation] Отримати значення поля featureOf з нецінового показника з feature_id в описі для тендера tender_uaid. | 43 | [Documentation] Отримати значення поля featureOf з нецінового показника з feature_id в описі для тендера tender_uaid. |
41 | 44 | ||
42 | ${tender_features_featureof_value_locator} = replace string ${tender_features_featureof_value_locator_tpl} %feature_id% ${feature_id} | 45 | ${tender_features_featureof_value_locator} = replace string ${tender_features_featureof_value_locator_tpl} %feature_id% ${feature_id} |
43 | - ${return_value} = get text ${tender_features_title_value_locator} | 46 | + ${return_value} = get value by locator on opened page ${tender_features_featureof_value_locator} |
44 | [return] ${return_value} | 47 | [return] ${return_value} |
45 | 48 | ||
46 | 49 | ||
@@ -51,6 +54,9 @@ get value from item | @@ -51,6 +54,9 @@ get value from item | ||
51 | # ${return_value} = Run Keyword If 'title' == '${field_name}' Отримати інформацію із предмету title ${item_id} | 54 | # ${return_value} = Run Keyword If 'title' == '${field_name}' Отримати інформацію із предмету title ${item_id} |
52 | # ... ELSE IF 'description' == '${field_name}' Отримати інформацію із предмету description ${item_id} | 55 | # ... ELSE IF 'description' == '${field_name}' Отримати інформацію із предмету description ${item_id} |
53 | # ... ELSE IF 'featureOf' == '${field_name}' Отримати інформацію із предмету featureOf ${item_id]} | 56 | # ... ELSE IF 'featureOf' == '${field_name}' Отримати інформацію із предмету featureOf ${item_id]} |
57 | + ${tender_items_new_value_locator} = replace string ${tender_items_new_value_locator_tpl} %item_id% ${item_id} | ||
58 | + wait until page contains element with reloading ${tender_items_new_value_locator} | ||
59 | + log many ${item_id} | ||
54 | Run Keyword And Return If 'description' == '${field_name}' Отримати інформацію із предмету description ${item_id} | 60 | Run Keyword And Return If 'description' == '${field_name}' Отримати інформацію із предмету description ${item_id} |
55 | Run Keyword And Return If 'deliveryDate.startDate' == '${field_name}' Отримати інформацію із предмету deliveryDate.startDate ${item_id} | 61 | Run Keyword And Return If 'deliveryDate.startDate' == '${field_name}' Отримати інформацію із предмету deliveryDate.startDate ${item_id} |
56 | Run Keyword And Return If 'deliveryDate.endDate' == '${field_name}' Отримати інформацію із предмету deliveryDate.endDate ${item_id} | 62 | Run Keyword And Return If 'deliveryDate.endDate' == '${field_name}' Отримати інформацію із предмету deliveryDate.endDate ${item_id} |
@@ -75,7 +81,9 @@ get value from item | @@ -75,7 +81,9 @@ get value from item | ||
75 | [Arguments] ${item_id} | 81 | [Arguments] ${item_id} |
76 | [Documentation] Отримати значення поля description з предмету з item_id в описі для тендера tender_uaid. | 82 | [Documentation] Отримати значення поля description з предмету з item_id в описі для тендера tender_uaid. |
77 | 83 | ||
78 | - ${tender_items_description_value_locator} = replace string ${tender_items_description_value_locator_tpl} %item_id% ${item_id} | 84 | + log many ${item_id} |
85 | + ${tender_items_description_value_locator} = run keyword if ${number_of_lots} > 0 replace string ${tender_items_description_value_locator_tpl} %item_id% ${item_id} | ||
86 | + ... ELSE replace string ${tender_items_no_lot_description_value_locator_tpl} %item_id% ${item_id} | ||
79 | ${return_value} = get value by locator on opened page ${tender_items_description_value_locator} | 87 | ${return_value} = get value by locator on opened page ${tender_items_description_value_locator} |
80 | [return] ${return_value} | 88 | [return] ${return_value} |
81 | 89 | ||
@@ -91,7 +99,7 @@ get value from item | @@ -91,7 +99,7 @@ get value from item | ||
91 | [Arguments] ${item_id} | 99 | [Arguments] ${item_id} |
92 | [Documentation] Отримати значення поля deliveryDate.endDate з предмету з item_id в описі для тендера tender_uaid. | 100 | [Documentation] Отримати значення поля deliveryDate.endDate з предмету з item_id в описі для тендера tender_uaid. |
93 | 101 | ||
94 | - ${tender_items_delivery_end_date_value_locator} = replace string ${tender_features_featureof_value_locator_tpl} %item_id% ${item_id} | 102 | + ${tender_items_delivery_end_date_value_locator} = replace string ${tender_items_delivery_end_date_value_locator_tpl} %item_id% ${item_id} |
95 | ${return_value} = get value by locator on opened page ${tender_items_delivery_end_date_value_locator} | 103 | ${return_value} = get value by locator on opened page ${tender_items_delivery_end_date_value_locator} |
96 | [return] ${return_value} | 104 | [return] ${return_value} |
97 | 105 | ||
@@ -140,7 +148,7 @@ get value from item | @@ -140,7 +148,7 @@ get value from item | ||
140 | [Documentation] Отримати значення поля classification.scheme з предмету з item_id в описі для тендера tender_uaid. | 148 | [Documentation] Отримати значення поля classification.scheme з предмету з item_id в описі для тендера tender_uaid. |
141 | 149 | ||
142 | ${tender_items_classification_scheme_value_locator} = replace string ${tender_items_classification_scheme_value_locator_tpl} %item_id% ${item_id} | 150 | ${tender_items_classification_scheme_value_locator} = replace string ${tender_items_classification_scheme_value_locator_tpl} %item_id% ${item_id} |
143 | - ${return_value} = get value by locator on opened page ${tender_items_classification_scheme_value_locator_tpl} | 151 | + ${return_value} = get value by locator on opened page ${tender_items_classification_scheme_value_locator} |
144 | [return] ${return_value} | 152 | [return] ${return_value} |
145 | 153 | ||
146 | Отримати інформацію із предмету classification.id | 154 | Отримати інформацію із предмету classification.id |
@@ -155,7 +163,7 @@ get value from item | @@ -155,7 +163,7 @@ get value from item | ||
155 | [Arguments] ${item_id} | 163 | [Arguments] ${item_id} |
156 | [Documentation] Отримати значення поля classification.description з предмету з item_id в описі для тендера tender_uaid. | 164 | [Documentation] Отримати значення поля classification.description з предмету з item_id в описі для тендера tender_uaid. |
157 | 165 | ||
158 | - ${tender_items_classification_description_value_locator_tpl} = replace string ${tender_items_classification_description_value_locator_tpl} %item_id% ${item_id} | 166 | + ${tender_items_classification_description_value_locator} = replace string ${tender_items_classification_description_value_locator_tpl} %item_id% ${item_id} |
159 | ${return_value} = get value by locator on opened page ${tender_items_classification_description_value_locator} | 167 | ${return_value} = get value by locator on opened page ${tender_items_classification_description_value_locator} |
160 | [return] ${return_value} | 168 | [return] ${return_value} |
161 | 169 | ||
@@ -196,7 +204,7 @@ get value from item | @@ -196,7 +204,7 @@ get value from item | ||
196 | [Documentation] Отримати значення поля unit.code з предмету з item_id в описі для тендера tender_uaid. | 204 | [Documentation] Отримати значення поля unit.code з предмету з item_id в описі для тендера tender_uaid. |
197 | 205 | ||
198 | ${tender_items_unit_code_value_locator} = replace string ${tender_items_unit_code_value_locator_tpl} %item_id% ${item_id} | 206 | ${tender_items_unit_code_value_locator} = replace string ${tender_items_unit_code_value_locator_tpl} %item_id% ${item_id} |
199 | - ${return_value} = get value by locator on opened page ${tender_items_unit_code_value_locator_tpl} | 207 | + ${return_value} = get value by locator on opened page ${tender_items_unit_code_value_locator} |
200 | [return] ${return_value} | 208 | [return] ${return_value} |
201 | 209 | ||
202 | Отримати інформацію із предмету quantity | 210 | Отримати інформацію із предмету quantity |
@@ -219,18 +227,20 @@ get value from lot | @@ -219,18 +227,20 @@ get value from lot | ||
219 | Run Keyword And Return If 'value.valueAddedTaxIncluded' == '${field_name}' Отримати інформацію із лоту value.valueAddedTaxIncluded ${lot_id} | 227 | Run Keyword And Return If 'value.valueAddedTaxIncluded' == '${field_name}' Отримати інформацію із лоту value.valueAddedTaxIncluded ${lot_id} |
220 | Run Keyword And Return If 'minimalStep.currency' == '${field_name}' Отримати інформацію із лоту minimalStep.currency ${lot_id} | 228 | Run Keyword And Return If 'minimalStep.currency' == '${field_name}' Отримати інформацію із лоту minimalStep.currency ${lot_id} |
221 | Run Keyword And Return If 'minimalStep.valueAddedTaxIncluded' == '${field_name}' Отримати інформацію із лоту minimalStep.valueAddedTaxIncluded ${lot_id} | 229 | Run Keyword And Return If 'minimalStep.valueAddedTaxIncluded' == '${field_name}' Отримати інформацію із лоту minimalStep.valueAddedTaxIncluded ${lot_id} |
222 | - Run Keyword And Return If 'auctionPeriod.startDate' == '${field_name}' get_invisible_text jquery=#accordionLots .panel-collapse.in .lot-info-wrapper .auction-period-start-date.hidden | ||
223 | - Run Keyword And Return If 'auctionPeriod.endDate' == '${field_name}' get_invisible_text jquery=#accordionLots .panel-collapse.in .lot-info-wrapper .auction-period-end-date.hidden | ||
224 | - Run Keyword And Return If 'minimalStepPercentage' == '${field_name}' Get invisible text number by locator jquery=#accordionLots .panel-collapse.in .lot-info-wrapper .minimal-step-percentage-source.hidden | ||
225 | - Run Keyword And Return If 'fundingKind' == '${field_name}' get_invisible_text jquery=#accordionLots .lot-info-wrapper:first .funding-kind-source.hidden | ||
226 | - Run Keyword And Return If 'yearlyPaymentsPercentageRange' == '${field_name}' Get invisible text number by locator jquery=#accordionLots .lot-info-wrapper:first .yearly-payments-percentage-range-source.hidden | 230 | +# Run Keyword And Return If 'auctionPeriod.startDate' == '${field_name}' get text jquery=#lots .tabs__content .tabs__pane--visible .auction-period .value .start-date |
231 | + Run Keyword And Return If 'auctionPeriod.startDate' == '${field_name}' Отримати інформацію із лоту auctionPeriod.startDate ${lot_id} | ||
232 | + Run Keyword And Return If 'auctionPeriod.endDate' == '${field_name}' Отримати інформацію із лоту auctionPeriod.endDate ${lot_id} | ||
233 | +# Run Keyword And Return If 'auctionPeriod.endDate' == '${field_name}' get text jquery=#lots .tabs__content .tabs__pane--visible .auction-period .value .end-date | ||
234 | + Run Keyword And Return If 'minimalStepPercentage' == '${field_name}' Отримати інформацію із лоту minimalStepPercentage ${lot_id} | ||
235 | + Run Keyword And Return If 'fundingKind' == '${field_name}' Отримати інформацію із лоту fundingKind ${lot_id} | ||
236 | + Run Keyword And Return If 'yearlyPaymentsPercentageRange' == '${field_name}' Отримати інформацію із лоту yearlyPaymentsPercentageRange ${lot_id} | ||
227 | 237 | ||
228 | 238 | ||
229 | Отримати інформацію із лоту title | 239 | Отримати інформацію із лоту title |
230 | [Arguments] ${lot_id} | 240 | [Arguments] ${lot_id} |
231 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. | 241 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. |
232 | 242 | ||
233 | - ${tender_lot_description_value_locator} = replace string ${tender_lot_description_value_locator_tpl} %lot_id% ${lot_id} | 243 | +# ${tender_lot_title_value_locator} = replace string ${tender_lot_title_value_locator_tpl} %lot_id% ${lot_id} |
234 | ${return_value} = get value by locator on opened page ${tender_lot_title_value_locator} | 244 | ${return_value} = get value by locator on opened page ${tender_lot_title_value_locator} |
235 | [return] ${return_value} | 245 | [return] ${return_value} |
236 | 246 | ||
@@ -238,7 +248,7 @@ get value from lot | @@ -238,7 +248,7 @@ get value from lot | ||
238 | [Arguments] ${lot_id} | 248 | [Arguments] ${lot_id} |
239 | [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. | 249 | [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. |
240 | 250 | ||
241 | - ${tender_lot_description_value_locator} = replace string ${tender_lot_description_value_locator_tpl} %lot_id% ${lot_id} | 251 | +# ${tender_lot_description_value_locator} = replace string ${tender_lot_description_value_locator_tpl} %lot_id% ${lot_id} |
242 | ${return_value} = get value by locator on opened page ${tender_lot_description_value_locator} | 252 | ${return_value} = get value by locator on opened page ${tender_lot_description_value_locator} |
243 | [return] ${return_value} | 253 | [return] ${return_value} |
244 | 254 | ||
@@ -246,23 +256,23 @@ get value from lot | @@ -246,23 +256,23 @@ get value from lot | ||
246 | [Arguments] ${lot_id} | 256 | [Arguments] ${lot_id} |
247 | [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. | 257 | [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. |
248 | 258 | ||
249 | - ${tender_lot_value_amount_value_locator} = replace string ${tender_lot_value_amount_value_locator_tpl} %lot_id% ${lot_id} | ||
250 | - ${return_value} = get value by locator on opened page ${tender_lot_value_amount_value_locator} | 259 | +# ${tender_lot_value_amount_value_locator} = replace string ${tender_lot_value_amount_value_locator_tpl} %lot_id% ${lot_id} |
260 | + ${return_value} = get value by locator on opened page ${tender_lot_value_amount_value_locator} ${tender_lot_value_amount_value_type} | ||
251 | [return] ${return_value} | 261 | [return] ${return_value} |
252 | 262 | ||
253 | Отримати інформацію із лоту minimalStep.amount | 263 | Отримати інформацію із лоту minimalStep.amount |
254 | [Arguments] ${lot_id} | 264 | [Arguments] ${lot_id} |
255 | [Documentation] Отримати значення поля featureOf з лоту з lot_id в описі для тендера tender_uaid. | 265 | [Documentation] Отримати значення поля featureOf з лоту з lot_id в описі для тендера tender_uaid. |
256 | 266 | ||
257 | - ${tender_lot_minimal_step_amount_value_locator} = replace string ${tender_lot_minimal_step_amount_value_locator_tpl} %lot_id% ${lot_id} | ||
258 | - ${return_value} = get value by locator on opened page ${tender_lot_minimal_step_amount_value_locator} | 267 | +# ${tender_lot_minimal_step_amount_value_locator} = replace string ${tender_lot_minimal_step_amount_value_locator_tpl} %lot_id% ${lot_id} |
268 | + ${return_value} = get value by locator on opened page ${tender_lot_minimal_step_amount_value_locator} ${tender_lot_minimal_step_amount_value_type} | ||
259 | [return] ${return_value} | 269 | [return] ${return_value} |
260 | 270 | ||
261 | Отримати інформацію із лоту value.currency | 271 | Отримати інформацію із лоту value.currency |
262 | [Arguments] ${lot_id} | 272 | [Arguments] ${lot_id} |
263 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. | 273 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. |
264 | 274 | ||
265 | - ${tender_lot_value_currency_value_locator} = replace string ${tender_lot_value_currency_value_locator_tpl} %lot_id% ${lot_id} | 275 | +# ${tender_lot_value_currency_value_locator} = replace string ${tender_lot_value_currency_value_locator_tpl} %lot_id% ${lot_id} |
266 | ${return_value} = get value by locator on opened page ${tender_lot_value_currency_value_locator} | 276 | ${return_value} = get value by locator on opened page ${tender_lot_value_currency_value_locator} |
267 | [return] ${return_value} | 277 | [return] ${return_value} |
268 | 278 | ||
@@ -270,15 +280,16 @@ get value from lot | @@ -270,15 +280,16 @@ get value from lot | ||
270 | [Arguments] ${lot_id} | 280 | [Arguments] ${lot_id} |
271 | [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. | 281 | [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. |
272 | 282 | ||
273 | - ${tender_lot_value_value_added_tax_included_value_locator} = replace string ${tender_lot_value_value_added_tax_included_value_locator_tpl} %lot_id% ${lot_id} | 283 | +# ${tender_lot_value_value_added_tax_included_value_locator} = replace string ${tender_lot_value_value_added_tax_included_value_locator_tpl} %lot_id% ${lot_id} |
274 | ${return_value} = get value by locator on opened page ${tender_lot_value_value_added_tax_included_value_locator} | 284 | ${return_value} = get value by locator on opened page ${tender_lot_value_value_added_tax_included_value_locator} |
285 | + ${return_value} = set variable if ${return_value} == 1 True | ||
275 | [return] ${return_value} | 286 | [return] ${return_value} |
276 | 287 | ||
277 | Отримати інформацію із лоту minimalStep.currency | 288 | Отримати інформацію із лоту minimalStep.currency |
278 | [Arguments] ${lot_id} | 289 | [Arguments] ${lot_id} |
279 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. | 290 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. |
280 | 291 | ||
281 | - ${tender_lot_minimal_step_currency_value_locator} = replace string ${tender_lot_minimal_step_currency_value_locator_tpl} %lot_id% ${lot_id} | 292 | +# ${tender_lot_minimal_step_currency_value_locator} = replace string ${tender_lot_minimal_step_currency_value_locator_tpl} %lot_id% ${lot_id} |
282 | ${return_value} = get value by locator on opened page ${tender_lot_minimal_step_currency_value_locator} | 293 | ${return_value} = get value by locator on opened page ${tender_lot_minimal_step_currency_value_locator} |
283 | [return] ${return_value} | 294 | [return] ${return_value} |
284 | 295 | ||
@@ -286,7 +297,7 @@ get value from lot | @@ -286,7 +297,7 @@ get value from lot | ||
286 | [Arguments] ${lot_id} | 297 | [Arguments] ${lot_id} |
287 | [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. | 298 | [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. |
288 | 299 | ||
289 | - ${tender_lot_value_minimal_step_added_tax_included_value_locator} = replace string ${tender_lot_minimal_step_value_added_tax_included_value_locator_tpl} %lot_id% ${lot_id} | 300 | +# ${tender_lot_value_minimal_step_added_tax_included_value_locator} = replace string ${tender_lot_minimal_step_value_added_tax_included_value_locator_tpl} %lot_id% ${lot_id} |
290 | ${return_value} = get value by locator on opened page ${tender_lot_minimal_step_value_added_tax_included_value_locator} | 301 | ${return_value} = get value by locator on opened page ${tender_lot_minimal_step_value_added_tax_included_value_locator} |
291 | [return] ${return_value} | 302 | [return] ${return_value} |
292 | 303 | ||
@@ -294,39 +305,237 @@ get value from lot | @@ -294,39 +305,237 @@ get value from lot | ||
294 | [Arguments] ${lot_id} | 305 | [Arguments] ${lot_id} |
295 | [Documentation] Отримати значення поля featureOf з лоту з lot_id в описі для тендера tender_uaid. | 306 | [Documentation] Отримати значення поля featureOf з лоту з lot_id в описі для тендера tender_uaid. |
296 | 307 | ||
297 | - ${tender_lot_delivery_region_id_value_locator} = replace string ${tender_lot_delivery_region_id_value_locator_tpl} %lot_id% ${lot_id} | ||
298 | - ${return_value} = get value by locator on opened page ${tender_lot_delivery_region_id_value_locator} | 308 | +# ${tender_lot_delivery_region_id_value_locator} = replace string ${tender_lot_delivery_region_id_value_locator_tpl} %lot_id% ${lot_id} |
309 | + ${return_value} = get value by locator on opened page ${tender_auctionPeriod_startDate_value_locator} | ||
310 | +# ${return_value} = parse_complaintPeriod_date ${return_value} | ||
299 | [return] ${return_value} | 311 | [return] ${return_value} |
300 | 312 | ||
301 | Отримати інформацію із лоту auctionPeriod.endDate | 313 | Отримати інформацію із лоту auctionPeriod.endDate |
302 | [Arguments] ${lot_id} | 314 | [Arguments] ${lot_id} |
303 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. | 315 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. |
304 | 316 | ||
305 | - ${tender_lot_delivery_locality_value_locator} = replace string ${tender_lot_delivery_locality_value_locator_tpl} %lot_id% ${lot_id} | ||
306 | - ${return_value} = get value by locator on opened page ${tender_lot_delivery_locality_value_locator} | 317 | +# ${tender_lot_delivery_locality_value_locator} = replace string ${tender_lot_delivery_locality_value_locator_tpl} %lot_id% ${lot_id} |
318 | + ${return_value} = get value by locator on opened page ${tender_auctionPeriod_endDate_value_locator} | ||
307 | [return] ${return_value} | 319 | [return] ${return_value} |
308 | 320 | ||
309 | Отримати інформацію із лоту minimalStepPercentage | 321 | Отримати інформацію із лоту minimalStepPercentage |
310 | [Arguments] ${lot_id} | 322 | [Arguments] ${lot_id} |
311 | - [Documentation] Отримати значення поля description з лоту з lot_id в описі для тендера tender_uaid. | 323 | + [Documentation] Отримати значення поля minimalStepPercentage з лоту з lot_id в описі для тендера tender_uaid. |
312 | 324 | ||
313 | - ${tender_lot_delivery_street_address_value_locator} = replace string ${tender_lot_delivery_street_address_value_locator_tpl} %lot_id% ${lot_id} | ||
314 | - ${return_value} = get value by locator on opened page ${tender_lot_delivery_street_address_value_locator} | 325 | +# ${tender_lot_delivery_street_address_value_locator} = replace string ${tender_lot_delivery_street_address_value_locator_tpl} %lot_id% ${lot_id} |
326 | +# ${return_value} = get field_value by field_name on opened page ${tender_minimalStepPercentage_value_locator} | ||
327 | + ${return_value} = get value by locator on opened page ${tender_minimalStepPercentage_value_locator} | ||
328 | + ${return_value} = convert_string_to_float ${return_value} | ||
315 | [return] ${return_value} | 329 | [return] ${return_value} |
316 | 330 | ||
317 | Отримати інформацію із лоту fundingKind | 331 | Отримати інформацію із лоту fundingKind |
318 | [Arguments] ${lot_id} | 332 | [Arguments] ${lot_id} |
319 | [Documentation] Отримати значення поля featureOf з лоту з lot_id в описі для тендера tender_uaid. | 333 | [Documentation] Отримати значення поля featureOf з лоту з lot_id в описі для тендера tender_uaid. |
320 | 334 | ||
321 | - ${tender_lot_classification_scheme_value_locator} = replace string ${tender_lot_classification_scheme_value_locator_tpl} %lot_id% ${lot_id} | ||
322 | - ${return_value} = get value by locator on opened page ${tender_lot_classification_scheme_value_locator_tpl} | 335 | +# ${tender_lot_classification_scheme_value_locator} = replace string ${tender_lot_classification_scheme_value_locator_tpl} %lot_id% ${lot_id} |
336 | + ${return_value} = get value by locator on opened page ${tender_fundingKind_value_locator} | ||
323 | [return] ${return_value} | 337 | [return] ${return_value} |
324 | 338 | ||
325 | Отримати інформацію із лоту yearlyPaymentsPercentageRange | 339 | Отримати інформацію із лоту yearlyPaymentsPercentageRange |
326 | [Arguments] ${lot_id} | 340 | [Arguments] ${lot_id} |
327 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. | 341 | [Documentation] Отримати значення поля title з лоту з lot_id в описі для тендера tender_uaid. |
328 | 342 | ||
329 | - ${tender_lot_classification_code_value_locator} = replace string ${tender_lot_classification_code_value_locator_tpl} %lot_id% ${lot_id} | ||
330 | - ${return_value} = get value by locator on opened page ${tender_lot_classification_code_value_locator} | 343 | +# ${tender_lot_classification_code_value_locator} = replace string ${tender_lot_classification_code_value_locator_tpl} %lot_id% ${lot_id} |
344 | +# ${field_name} = set variable tender.${field_name}.value | ||
345 | +# ${return_value} = get field_value by field_name on opened page ${tender_yearlyPaymentsPercentageRange_value_locator} | ||
346 | + ${return_value} = get value by locator on opened page ${tender_yearlyPaymentsPercentageRange_value_locator} | ||
347 | + ${return_value} = convert_string_to_float ${return_value} | ||
348 | + [return] ${return_value} | ||
349 | + | ||
350 | +Отримати інформацію із документа title | ||
351 | + [Arguments] ${doc_id} | ||
352 | + [Documentation] Отримати значення поля title з документу з doc_id в описі для тендера tender_uaid. | ||
353 | + | ||
354 | +#заготовка | ||
355 | + ${tender_new_doc_locator} = replace string ${tender_new_doc_locator_tpl} %doc_id% ${doc_id} | ||
356 | + wait until page contains element with reloading ${tender_new_doc_locator} | ||
357 | + | ||
358 | + ${tender_new_doc__title_locator} = replace string ${tender_new_doc_title_locator_tpl} %doc_id% ${doc_id} | ||
359 | + | ||
360 | + ${return_value} = Execute Javascript return ${tender_new_doc__title_locator} | ||
361 | + ##${return_value} = get text ${tender_new_doc_locator} | ||
362 | + #${return_value} = get value by locator on opened page ${tender_new_doc_locator} | ||
363 | + [return] ${return_value} | ||
364 | + | ||
365 | +wait for tender status | ||
366 | + [Documentation] Очикування відповідного статусу закупівлі, в залежності від кейворда | ||
367 | + | ||
368 | + Run Keyword If '${TEST_NAME}' == 'Неможливість завантажити документ першим учасником після закінчення прийому пропозицій' Wait Until Keyword Succeeds 480 s 20 s Wait For EndEnquire | ||
369 | + Run Keyword If '${TEST_NAME}' == 'Неможливість завантажити документ другим учасником після закінчення прийому пропозицій' Wait Until Keyword Succeeds 480 s 20 s Wait For EndEnquire | ||
370 | + Run Keyword If '${TEST_NAME}' == 'Неможливість задати запитання на тендер після закінчення періоду прийому пропозицій' Wait Until Keyword Succeeds 480 s 20 s Wait For EndEnquire | ||
371 | + #Run Keyword If '${TEST_NAME}' == 'Неможливість задати запитання на тендер після закінчення періоду уточнень' Wait Until Keyword Succeeds 480 s 20 s Wait For EndEnquire | ||
372 | + Run Keyword If '${TEST_NAME}' == 'Можливість подати пропозицію першим учасником' Wait Until Keyword Succeeds 480 s 20 s Wait For TenderPeriod | ||
373 | + Run Keyword If '${TEST_NAME}' == 'Можливість подати пропозицію другим учасником' Wait Until Keyword Succeeds 480 s 20 s Wait For TenderPeriod | ||
374 | + Run Keyword If '${TEST_NAME}' == 'Відображення дати закінчення періоду блокування перед початком аукціону' Wait Until Keyword Succeeds 80 s 20 s Wait For AuctionPeriod | ||
375 | + Run Keyword If '${TEST_NAME}' == 'Можливість підтвердити першу пропозицію кваліфікації' Wait Until Keyword Succeeds 80 s 20 s Wait For PreQualificationPeriod | ||
376 | + Run Keyword If '${TEST_NAME}' == 'Можливість підтвердити другу пропозицію кваліфікації' Wait Until Keyword Succeeds 80 s 20 s Wait For PreQualificationPeriod | ||
377 | + Run Keyword If '${TEST_NAME}' == 'Можливість дочекатися завершення роботи мосту' Wait Until Keyword Succeeds 6000 s 20 s Wait For CompletePeriod | ||
378 | + #cat Run Keyword If '${TEST_NAME}' == 'Можливість дочекатися початку періоду очікування' Wait Until Keyword Succeeds 600 s 20 s Wait For PreQualificationsStandPeriod | ||
379 | + Run Keyword If '${TEST_NAME}' == 'Можливість дочекатися початку періоду очікування' Wait Until Keyword Succeeds 600 s 20 s Wait For ActiveStage2Pending | ||
380 | + Run Keyword If '${TEST_NAME}' == 'Можливість перевести тендер в статус очікування обробки мостом' Wait Until Keyword Succeeds 600 s 20 s Wait For ActiveStage2Waiting | ||
381 | + Run Keyword If '${TEST_NAME}' == 'Можливість дочекатись дати закінчення прийому пропозицій' and '${SUITE NAME}' == 'Tests Files.Complaints' Wait Until Keyword Succeeds 800 s 20 s Wait For NotTenderPeriod | ||
382 | + Run Keyword If '${TEST_NAME}' == 'Можливість дочекатись дати початку періоду кваліфікації' and '${SUITE NAME}' == 'Tests Files.Complaints' Wait Until Keyword Succeeds 800 s 20 s Wait For QualificationsStandPeriod | ||
383 | + Run Keyword If '${TEST_NAME}' == 'Відображення статусу успішного завершення тендера' Wait Until Keyword Succeeds 6000 s 20 s Wait For CompletePeriod | ||
384 | + | ||
385 | +Wait For EndEnquire | ||
386 | + [Documentation] Очикування статусу закупівлі закінчення обговорення | ||
387 | + | ||
388 | + Reload Page | ||
389 | + ${return_value} = Get text ${tender_status_value_locator} | ||
390 | + Log Many CAT ${return_value} | ||
391 | + Page Should Not Contain Element ${tender_status_active_tendering_value_locator} | ||
392 | + | ||
393 | +Wait For TenderPeriod | ||
394 | + [Documentation] Очикування статусу закупівлі початку подачи пропозицій | ||
395 | + | ||
396 | + Reload Page | ||
397 | + ${return_value} = Get text ${tender_status_value_locator} | ||
398 | + Log Many CAT ${return_value} | ||
399 | + Page Should Contain Element ${tender_status_active_tendering_value_locator} | ||
400 | + | ||
401 | +Wait For AuctionPeriod | ||
402 | + [Documentation] Очикування статусу закупівлі аукціон | ||
403 | + | ||
404 | + Reload Page | ||
405 | + ${return_value} = Get text ${tender_status_value_locator} | ||
406 | + Log Many CAT ${return_value} | ||
407 | + Page Should Contain Element ${tender_status_active_auction_value_locator} | ||
408 | + | ||
409 | +Wait For PreQualificationPeriod | ||
410 | + [Documentation] Очикування статусу закупівлі аукціон | ||
411 | + | ||
412 | + Reload Page | ||
413 | + ${return_value} = Get text ${tender_status_value_locator} | ||
414 | + Log Many CAT ${return_value} | ||
415 | + Page Should Contain Element ${tender_status_active_pre_qualification_value_locator} | ||
416 | + | ||
417 | +Wait For CompletePeriod | ||
418 | + [Documentation] Очикування статусу закупівлі завершення | ||
419 | + | ||
420 | + Reload Page | ||
421 | + ${return_value} = Get text ${tender_status_value_locator} | ||
422 | + Log Many CAT ${return_value} | ||
423 | + Page Should Contain Element ${tender_status_complete_value_locator} | ||
424 | + | ||
425 | +Wait For ActiveStage2Pending | ||
426 | + [Documentation] Очикування статусу закупівлі завершення | ||
427 | + | ||
428 | + Reload Page | ||
429 | + ${return_value} = Get text ${tender_status_value_locator} | ||
430 | + Log Many CAT ${return_value} | ||
431 | + Page Should Contain Element ${tender_status_active_stage2_pending_value_locator} | ||
432 | + | ||
433 | +Wait For ActiveStage2Waiting | ||
434 | + [Documentation] Очикування статусу закупівлі завершення | ||
435 | + | ||
436 | + Reload Page | ||
437 | + ${return_value} = Get text ${tender_status_value_locator} | ||
438 | + Log Many CAT ${return_value} | ||
439 | + Page Should Contain Element ${tender_status_active_stage2_waiting_value_locator} | ||
440 | + | ||
441 | +Wait For NotTenderPeriod | ||
442 | + [Documentation] Очикування статусу закупівлі завершення | ||
443 | + | ||
444 | + Reload Page | ||
445 | + ${return_value} = Get text ${tender_status_value_locator} | ||
446 | + Log Many CAT ${return_value} | ||
447 | + Page Should Contain Element ${tender_status_active_tendering_value_locator} | ||
448 | + | ||
449 | +Wait For QualificationsStandPeriod | ||
450 | + [Documentation] Очикування статусу закупівлі завершення кваліфікації | ||
451 | + | ||
452 | + Reload Page | ||
453 | + ${return_value} = Get text ${tender_status_value_locator} | ||
454 | + Log Many CAT ${return_value} | ||
455 | + Page Should Contain Element ${tender_status_active_qualification_value_locator} | ||
456 | + | ||
457 | +Wait For QualificationsPeriodEnd | ||
458 | + [Documentation] Очикування дати завершення кваліфікації закупівлі | ||
459 | + | ||
460 | + Reload Page | ||
461 | + ${complaintPeriod} = get value by locator on opened page ${tender_qualificationPeriod_endDate_value_locator} | ||
462 | + Log Many CAT ${complaintPeriod} | ||
463 | + Run Keyword If '${complaintPeriod}' == '' input text to exist visible input ${contract_contractform_date_start_input_locator} ${date_start} | ||
464 | + :FOR ${INDEX} IN RANGE 1 60 | ||
465 | + \ Run Keyword If '${complaintPeriod}' != '' Exit For Loop | ||
466 | + \ Reload Page | ||
467 | + \ ${complaintPeriod} = get value by locator on opened page ${tender_qualificationPeriod_endDate_value_locator} | ||
468 | + | ||
469 | +Отримати інформацію із contracts[0].status | ||
470 | + [Documentation] Отримати значення поля contracts[0].status | ||
471 | + | ||
472 | +# ${tmp} = get value by locator on opened page ${tender_contracts_0_status_value_locator} | ||
473 | +# ${return_value} = Set Variable If '${tmp}' in 'Підписаний Новий' active other | ||
474 | + Run Keyword If '${TEST_NAME}' == 'Відображення статусу підписаної угоди з постачальником переговорної процедури' Wait Until Keyword Succeeds 800 s 20 s Wait For contractactive | ||
475 | + Run Keyword If '${TEST_NAME}' == 'Відображення статусу підписаної угоди з постачальником закупівлі' Wait Until Keyword Succeeds 800 s 20 s Wait For contractactive | ||
476 | + ${return_value} = get value by locator on opened page ${tender_contracts_0_status_value_locator} | ||
477 | + [return] ${return_value} | ||
478 | + | ||
479 | +Wait For contractactive | ||
480 | + [Documentation] Очикування статусу закупівлі початку подачи пропозицій | ||
481 | + | ||
482 | + Reload Page | ||
483 | + ${return_value} = get value by locator on opened page ${tender_contracts_0_status_value_locator} | ||
484 | + Page Should Contain Element ${tender_contracts_status_active_value_locator} | ||
485 | + | ||
486 | +Отримати інформацію із awards.complaintPeriod.endDate | ||
487 | + [Documentation] Отримати значення поля awards.complaintPeriod.endDate | ||
488 | + | ||
489 | +# run keyword and ignore error run keyword if '${mode}' in 'belowThreshold below_funders' Wait Until Keyword Succeeds 600 s 30 s Wait For complaintPeriodendDate | ||
490 | + run keyword and ignore error Wait Until Keyword Succeeds 600 s 30 s Wait For complaintPeriodendDate | ||
491 | +# run keyword and ignore error click visible element ${contract_form_0_open_btn_locator} | ||
492 | +# wait until element is visible ${tender_awards_complaintPeriod_endDate_value_locator} 60 | ||
493 | + ${return_value} = run keyword if '${mode}' in 'negotiation' get value by locator on opened page ${tender_awards_negotiation_complaintPeriod_endDate_value_locator} | ||
494 | + ... ELSE get value by locator on opened page ${tender_awards_complaintPeriod_endDate_value_locator} | ||
495 | +# ${return_value} = parse_complaintPeriod_date ${return_value} | ||
496 | + [return] ${return_value} | ||
497 | + | ||
498 | +Wait For complaintPeriodendDate | ||
499 | + [Documentation] Очикування появи дати завершення подачи скарг на кваліфікацію закупівлі в belowThreshold та below_funders | ||
500 | + | ||
501 | + reload page | ||
502 | + ${complaintPeriod} = run keyword and ignore error get value by locator on opened page ${tender_awards_complaintPeriod_endDate_value_locator} | ||
503 | + :FOR ${INDEX} IN RANGE 1 60 | ||
504 | + \ Run Keyword If '${complaintPeriod}' != '' Exit For Loop | ||
505 | + \ Reload Page | ||
506 | + \ ${complaintPeriod} = get value by locator on opened page ${tender_awards_complaintPeriod_endDate_value_locator} | ||
507 | + | ||
508 | +Отримати інформацію із minimalStep.amount | ||
509 | + [Documentation] Отримати значення поля minimalStep.amount для тендера tender_uaid. | ||
510 | + | ||
511 | +# ${tender_lot_minimal_step_amount_value_locator} = replace string ${tender_lot_minimal_step_amount_value_locator_tpl} %lot_id% ${lot_id} | ||
512 | + ${return_value} = run keyword if ${number_of_lots} > 0 get value by locator on opened page ${tender_lot_minimal_step_amount_value_locator} ${tender_lot_minimal_step_amount_value_type} | ||
513 | + ... ELSE get value by locator on opened page ${tender_minimalStep_amount_value_locator} ${tender_lot_minimal_step_amount_value_type} | ||
331 | [return] ${return_value} | 514 | [return] ${return_value} |
332 | 515 | ||
516 | +Отримати інформацію із awards[0].documents[0].title | ||
517 | + [Documentation] Отримати значення поля minimalStep.amount для тендера tender_uaid. | ||
518 | + | ||
519 | +# ${tender_lot_minimal_step_amount_value_locator} = replace string ${tender_lot_minimal_step_amount_value_locator_tpl} %lot_id% ${lot_id} | ||
520 | + click visible element ${tender_awards_negotiation_documents_btn_locator} | ||
521 | + ${return_value} = get value by locator on opened page ${tender_awards_0_documents_0_title_value_locator} | ||
522 | + click visible element ${tender_awards_negotiation_documents_close_btn_locator} | ||
523 | + [return] ${return_value} | ||
524 | + | ||
525 | +Wait For stage2button | ||
526 | + [Documentation] Очикування кнопки переводу до другого етапу | ||
527 | + | ||
528 | + Reload Page | ||
529 | + Page Should Contain Element ${tender_stage2_open_btn_locator} | ||
530 | + | ||
531 | +Отримати інформацію із qualificationPeriod.endDate | ||
532 | + [Documentation] Отримати значення поля qualificationPeriod.endDate | ||
533 | + | ||
534 | +# run keyword and ignore error run keyword if '${mode}' in 'belowThreshold below_funders' Wait Until Keyword Succeeds 600 s 30 s Wait For complaintPeriodendDate | ||
535 | +# run keyword and ignore error Wait Until Keyword Succeeds 600 s 30 s Wait For complaintPeriodendDate | ||
536 | + ${return_value} = get value by locator on opened page ${tender_qualificationPeriod_endDate_value_locator} | ||
537 | + ${return_value} = parse_complaintPeriod_date ${return_value} | ||
538 | + [return] ${return_value} | ||
539 | + | ||
540 | + | ||
541 | + |
@@ -4,9 +4,13 @@ | @@ -4,9 +4,13 @@ | ||
4 | ${tender_features_title_value_locator_tpl} = jquery=#lots .tabs__pane--visible .feature-list-wrapper [data-title*="%feature_id%"] .hidden.info-wrapper .title | 4 | ${tender_features_title_value_locator_tpl} = jquery=#lots .tabs__pane--visible .feature-list-wrapper [data-title*="%feature_id%"] .hidden.info-wrapper .title |
5 | ${tender_features_description_value_locator_tpl} = jquery=#lots .tabs__pane--visible .feature-list-wrapper [data-title*="%feature_id%"] .hidden.info-wrapper .description | 5 | ${tender_features_description_value_locator_tpl} = jquery=#lots .tabs__pane--visible .feature-list-wrapper [data-title*="%feature_id%"] .hidden.info-wrapper .description |
6 | ${tender_features_featureof_value_locator_tpl} = jquery=#lots .tabs__pane--visible .feature-list-wrapper [data-title*="%feature_id%"] .hidden.info-wrapper .featureOf | 6 | ${tender_features_featureof_value_locator_tpl} = jquery=#lots .tabs__pane--visible .feature-list-wrapper [data-title*="%feature_id%"] .hidden.info-wrapper .featureOf |
7 | +${tender_features_new_value_locator_tpl} = jquery=.info-row.features div[data-title*="%feature_id%"] | ||
8 | + | ||
7 | 9 | ||
8 | #item view | 10 | #item view |
11 | +${tender_items_new_value_locator_tpl} = jquery=.item-item-wrapper[data-title*="%item_id%"] | ||
9 | ${tender_items_description_value_locator_tpl} = jquery=#lots .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] div.textvalue | 12 | ${tender_items_description_value_locator_tpl} = jquery=#lots .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] div.textvalue |
13 | +${tender_items_no_lot_description_value_locator_tpl} = jquery=.pseudo-table .item-item-wrapper[data-title*="%item_id%"] div.textvalue | ||
10 | ${tender_items_quantity_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .quantity-source | 14 | ${tender_items_quantity_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .quantity-source |
11 | ${tender_items_quantity_value_type} = float | 15 | ${tender_items_quantity_value_type} = float |
12 | ${tender_items_unit_title_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .unit-title-source | 16 | ${tender_items_unit_title_value_locator_tpl} = jquery=.tabs__content .tabs__pane--visible .item-item-wrapper[data-title*="%item_id%"] .item-info-wrapper.hidden.info-wrapper .unit-title-source |
@@ -69,3 +73,102 @@ ${tender_lot_item_delivery_end_date_value_locator} = jquery=.tabs | @@ -69,3 +73,102 @@ ${tender_lot_item_delivery_end_date_value_locator} = jquery=.tabs | ||
69 | ${tender_lot_item_delivery_latitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-latitude | 73 | ${tender_lot_item_delivery_latitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-latitude |
70 | ${tender_lot_item_delivery_longitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-longitude | 74 | ${tender_lot_item_delivery_longitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-longitude |
71 | 75 | ||
76 | +#lots | ||
77 | +${tender_lots_title_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue:first | ||
78 | +${tender_lots_description_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible > span div.textvalue.hidden | ||
79 | +${tender_lots_value_amount_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | ||
80 | +${tender_lots_value_amount_value_type} = float | ||
81 | +${tender_lots_value_currency_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | ||
82 | +${tender_lots_value_value_added_tax_included_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | ||
83 | +${tender_lots_minimal_step_amount_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .minimal-step-source.hidden | ||
84 | +${tender_lots_minimal_step_amount_value_type} = float | ||
85 | +${tender_lots_minimal_step_amount_currency_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | ||
86 | +${tender_lots_minimal_step_amount_value_added_tax_included_value_locator_tpl} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | ||
87 | + | ||
88 | +#docs and auction | ||
89 | +${tender_new_doc_locator_tpl} = jquery=.docs__list .docs__item.js-item .doc__title:contains("%doc_id%") | ||
90 | +${tender_new_doc_title_locator_tpl} = $('.docs__list .docs__item.js-item:contains("%doc_id%")').attr("data-title") | ||
91 | +#${tender_new_doc_locator_tpl} = jquery=.docs__list .docs__item.js-item:first .doc__title:contains("%doc_id%") | ||
92 | +${tender_auction_locator} = jquery=#auction-info | ||
93 | +${tender_auction_input_locator} = $('#auction-info a[href*="https://auction-sandbox"]').attr("href") | ||
94 | +${tender_auction_belowThreshold_locator} = jquery=#aside-part-pjax a[href*="https://auction-sandbox"] | ||
95 | +${tender_auction_belowThreshold_input_locator} = jquery=#aside-part-pjax a[href*="https://auction-sandbox"] | ||
96 | +${tender_auction_belowThreshold_value_locator} = $('#aside-part-pjax a[href*="https://auction-sandbox"]').attr("href") | ||
97 | +${tender_auctionPeriod_startDate_value_locator} = jquery=#tender-general-info .auction-start-date.hidden | ||
98 | +${tender_auctionPeriod_endDate_value_locator} = jquery=#tender-general-info .auction-end-date.hidden | ||
99 | +${tender_lots_0_auctionPeriod_endDate_value_locator} = jquery=#tender-general-info .auction-end-date.hidden | ||
100 | + | ||
101 | + | ||
102 | +#wait for status | ||
103 | +${tender_status_active_tendering_value_locator} = xpath=//*[contains(text(), "active.tendering")] | ||
104 | +${tender_status_active_auction_value_locator} = xpath=//*[contains(text(), "active.auction")] | ||
105 | +${tender_status_active_pre_qualification_value_locator} = xpath=//*[contains(text(), "active.pre-qualification")] | ||
106 | +${tender_status_complete_value_locator} = xpath=//*[contains(text(), "complete")] | ||
107 | +${tender_status_active_stage2_pending_value_locator} = xpath=//*[contains(text(), "active.stage2.pending")] | ||
108 | +${tender_status_active_stage2_waiting_value_locator} = xpath=//*[contains(text(), "active.stage2.waiting")] | ||
109 | +${tender_status_active_complete_value_locator} = xpath=//*[contains(text(), "active.complete")] | ||
110 | +${tender_status_active_qualification_value_locator} = xpath=//*[contains(text(), "active.qualification")] | ||
111 | + | ||
112 | +#funders | ||
113 | +${tender_funders_0_name_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .organization_name.hidden .definitions__value | ||
114 | +${tender_funders_0_address_countryName_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .country.hidden .definitions__value | ||
115 | +${tender_funders_0_address_locality_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .locality.hidden .definitions__value | ||
116 | +${tender_funders_0_address_postalCode_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .postcode.hidden .definitions__value | ||
117 | +${tender_funders_0_address_region_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .region.hidden .definitions__value | ||
118 | +${tender_funders_0_address_streetAddress_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .street-address.hidden .definitions__value | ||
119 | +${tender_funders_0_identifier_id_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .identifier_id .definitions__value | ||
120 | +${tender_funders_0_identifier_legalName_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .identifier_legal_name.hidden .definitions__value | ||
121 | +${tender_funders_0_identifier_scheme_value_locator} = jquery=#tender-general-info .funder-organization .value .popup__inner .definitions__list .identifier_scheme.hidden .definitions__value | ||
122 | + | ||
123 | +#negotiation | ||
124 | +${tender_procuringEntity_contactPoint_name_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .contact-point-name.hidden .definitions__value | ||
125 | +${tender_procuringEntity_contactPoint_telephone_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .contact-point-phone.hidden .definitions__value | ||
126 | +${tender_procuringEntity_identifier_legalName_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .identifier_legal_name.hidden .definitions__value | ||
127 | +${tender_procuringEntity_identifier_scheme_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .identifier_scheme.hidden .definitions__value | ||
128 | + | ||
129 | +${tender_awards_0_suppliers_0_contactPoint_telephone_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .contact-point-phone.hidden .definitions__value | ||
130 | +${tender_awards_0_suppliers_0_contactPoint_name_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .contact-point-name.hidden .definitions__value | ||
131 | +${tender_awards_0_suppliers_0_contactPoint_email_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .contact-point-email.hidden .definitions__value | ||
132 | +${tender_awards_0_suppliers_0_identifier_scheme_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .identifier_scheme.hidden .definitions__value | ||
133 | +${tender_awards_0_suppliers_0_identifier_legalName_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .identifier_legal_name.hidden .definitions__value | ||
134 | +${tender_awards_0_suppliers_0_address_countryName_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .country.hidden .definitions__value | ||
135 | +${tender_awards_0_suppliers_0_address_locality_value_locator} = jquery=#bids-pjax .hint__popup_organization_info .definitions__list .locacity.hidden .definitions__value | ||
136 | +${tender_awards_0_suppliers_0_address_postalCode_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .postcode.hidden .definitions__value | ||
137 | +${tender_awards_0_suppliers_0_address_region_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .region.hidden .definitions__value | ||
138 | +${tender_awards_0_suppliers_0_address_streetAddress_value_locator} = jquery=#tender-general-info .organization .value .popup__inner .definitions__list .street-address.hidden .definitions__value | ||
139 | + | ||
140 | +#esco | ||
141 | +${tender_NBUdiscountRate_value_locator} = jquery=#tender-general-info .nbu-discount-rate-source.hidden | ||
142 | +${tender_NBUdiscountRate_value_type} = float | ||
143 | +${tender_minimalStepPercentage_value_locator} = jquery=#tender-general-info .minimal-step-percentage-source.hidden | ||
144 | +${tender_minimalStepPercentage_value_type} = float | ||
145 | +${tender_fundingKind_value_locator} = jquery=#tender-general-info .funding-kind-source.hidden | ||
146 | +${tender_yearlyPaymentsPercentageRange_value_locator} = jquery=#tender-general-info .yearly-payments-percentage-range-source.hidden | ||
147 | +${tender_yearlyPaymentsPercentageRange_value_type} = float | ||
148 | +${tender_lots_0_minimalStepPercentage_value_locator} = jquery=#tender-general-info .minimal-step-percentage-source.hidden | ||
149 | +${tender_lots_0_minimalStepPercentage_value_type} = float | ||
150 | +${tender_lots_0_yearlyPaymentsPercentageRange_value_locator} = jquery=#tender-general-info .yearly-payments-percentage-range-source.hidden | ||
151 | +${tender_lots_0_yearlyPaymentsPercentageRange_value_type} = float | ||
152 | + | ||
153 | +#awards | ||
154 | +${tender_awards_0_complaintPeriod_endDate_value_locator} = jquery=#tender-general-info .complaint-period .value .end-date | ||
155 | +${tender_awards_1_complaintPeriod_endDate_value_locator} = jquery=#tender-general-info .complaint-period .value .end-date | ||
156 | +${tender_awards_complaintPeriod_endDate_value_locator} = jquery=.award-info-wrapper.hidden .complaint-period-end-date | ||
157 | +${tender_awards_negotiation_complaintPeriod_endDate_value_locator} = jquery=#bids-pjax .pseudo-table__cell .end-date | ||
158 | +#${tender_awards_complaintPeriod_endDate_value_locator} = jquery=#tender-contract-form .js-award-complaint-period-wrapper .end-date | ||
159 | +${tender_awards_negotiation_documents_btn_locator} = jquery=[href*="/tender/view-qualification-result-documents?award"] | ||
160 | +${tender_awards_negotiation_documents_close_btn_locator} = jquery=.modal.fade.fancybox-content .modal-footer .btn.btn-default | ||
161 | +${tender_awards_0_documents_0_title_value_locator} = jquery=.doc__table_title a[href*="https://public-docs-sandbox.prozorro.gov.ua"] | ||
162 | +${tender_awards_0_status_value_locator} = jquery=.award-info-wrapper.hidden .status-source | ||
163 | + | ||
164 | +#status contract | ||
165 | +#${tender_contracts_0_status_value_locator} = jquery=#contracts-pjax .tabs__pane--visible .definitions__item--offset-big .badge__text | ||
166 | +${tender_contracts_0_status_value_locator} = jquery=#contracts-pjax .tabs__pane--visible .status-source.hidden | ||
167 | +${tender_contracts_status_active_value_locator} = jquery=#contracts-pjax .tabs__pane--visible .status-source.hidden:contains(active) | ||
168 | + | ||
169 | +${wait_msg_contract} = Завантаження контракту буде | ||
170 | + | ||
171 | +#framework_agreement | ||
172 | +${tender_maxAwardsCount_value_locator} = jquery=#tender-general-info .max-award-count.hidden | ||
173 | +${tender_agreementDuration_value_locator} = jquery=#tender-general-info .agreement-duration | ||
174 | +${tender_agreements_0_status_value_locator} = jquery=#agreement-contracts-list .agreement-info-wrapper .status-source.hidden |
Please
register
or
login
to post a comment