Commit e2dc8aaf4cf50e50c42079aab0025d93dd3abe58

Authored by Playtenders
1 parent d11fe979

add tests

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 +
  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 +
  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"]
  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 +
  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