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