playtender_qualification.robot 29.9 KB
*** Settings ***

Resource                                                        playtender_common.robot
Resource                                                        playtender_variables.robot
Resource                                                        playtender_bid_variables.robot
Resource                                                        playtender_qualification_variables.robot

*** Keywords ***


open tender form prequalification
    [Arguments]                                                 ${qualification_num}
    [Documentation]                                             Відкрити форму прекваліфікації і потрібну кваліфікацію під номером qualification_num

    run keyword if                                              ${qualification_num} == 0  wait until page contains element with reloading  ${prequalification_form_0_open_btn_locator}
    run keyword if                                              ${qualification_num} == 0  open popup by btn locator  ${prequalification_form_0_open_btn_locator}
    run keyword if                                              ${qualification_num} == 1  open popup by btn locator  ${prequalification_form_1_open_btn_locator}
    run keyword if                                              ${qualification_num} == -1  open popup by btn locator  ${prequalification_form_-1_open_btn_locator}
    run keyword if                                              ${qualification_num} == -2  wait until page contains element with reloading  ${prequalification_form_-2_open_btn_locator}
    run keyword if                                              ${qualification_num} == -2  open popup by btn locator  ${prequalification_form_-2_open_btn_locator}
    run keyword if                                              ${qualification_num} == 2  open popup by btn locator  ${prequalification_form_-1_open_btn_locator}
#    run keyword if                                              ${qualification_num} == -2  execute javascript  $('#bids-pjax .pseudo-table__row:last a[href*="/tender/prequalification"]').click()
    run keyword if                                              ${qualification_num} == 3  open popup by btn locator  ${prequalification_form_1_open_btn_locator}

confirm qualifications
    [Documentation]                                             Відкрити форму прекваліфікації і перевести кваліфікацію під номером qualification_num до тендера
    ...                                                         tender_uaid в статус active.

    Execute Javascript  $('#prequalificationform-decision').val('accept').change()
    capture page screenshot
    wait until page contains element                            ${prequalification_form_eligible_input_locator}
    capture page screenshot
#    click visible element                                       ${prequalification_form_eligible_input_locator}
#    click visible element                                       ${prequalification_form_qualified_input_locator}
    Execute Javascript                                          $('#prequalificationform-eligible').click()
    Execute Javascript                                          $('#prequalificationform-qualified').click()
    submit form and check result                                ${qualification_form_submit_btn_locator}  ${qualification_form_submit_success_msg}  ${tender_created_checker_element_locator}

reject qualifications
    [Documentation]                                             Відкрити форму прекваліфікації і перевестикваліфікацію під номером qualification_num до тендера
    ...                                                         tender_uaid в статус unsuccessful.

    Execute Javascript  $('#prequalificationform-decision').val('decline').change()
    capture page screenshot
#    wait until page contains element                            ${qualification_form_reasons_cancellation_input_locator}
#    capture page screenshot
#    input text to exist visible input                           ${qualification_form_reasons_cancellation_input_locator}  GenerateFakeText
    Execute Javascript  ${prequalification_form_title_cancellation_input_locator}
    capture page screenshot
#    input text to exist visible input                           ${qualification_form_reasons_cancellation_input_locator}  GenerateFakeText
    input text to exist visible input                           ${prequalification_form_description_cancellation_input_locator}  GenerateFakeText
    capture page screenshot
    submit form and check result                                ${qualification_form_submit_btn_locator}  ${qualification_form_decline_success_msg}  ${tender_created_checker_element_locator}
    capture page screenshot

cancel qualifications
    [Documentation]                                             Відкрити форму прекваліфікації і перевести кваліфікацію під номером qualification_num до тендера
    ...                                                         tender_uaid в статус cancelled.

    wait until page contains element                            ${prequalification_form_description_cancellation_input_locator}
    Execute Javascript  $('#prequalificationform-decision').val('decline').change()
#    select from visible list by label  ${tender_form_award_organization_region_id_locator}  ${region}
    capture page screenshot
    wait until page contains element                            ${prequalification_form_description_cancellation_input_locator}
    capture page screenshot
    input text to exist visible input                           ${prequalification_form_description_cancellation_input_locator}  GenerateFakeText
    capture page screenshot
    submit form and check result                                ${qualification_form_submit_btn_locator}  ${qualification_form_cancel_success_msg}  ${tender_created_checker_element_locator}

approve the final qualification decision
    [Documentation]                                             Перевести тендер tender_uaid в статус active.pre-qualification.stand-still.

    wait until alert is visible                                 ${qualification_form_approve_question_msg}
    click visible element                                       ${alert_confirm_btn_locator}
    wait until alert is visible                                 ${qualification_form_approve_success_msg}
    close current visible alert

    wait until page does not contain element                    ${alert_confirm_btn_locator}

#    wait until page contains                                    ${qualification_form_approve_question_msg}
#    Execute Javascript  ${qualification_form_approve_js_submit_btn_locator}
#    Wait Until Page Contains                                    ${qualification_form_approve_success_msg}  60
#    wait until alert is visible                                 ${qualification_form_approve_success_msg}
#    run keyword and ignore error                                run keyword if condition is not none  ${qualification_form_approve_success_msg}  close current visible alert
    run keyword and ignore error                                Wait Until Keyword Succeeds                                 1600 s    20 s    Wait For QualificationsPeriodEnd

#qualification
open tender form qualification
    [Arguments]                                                 ${award_num}
    [Documentation]                                             Відкрити форму кваліфікації і потрібну кваліфікацію під номером award_num

    run keyword if                                              "${mode}" not in "open_framework"  Run Keywords
    ...                                                         run keyword if  ${award_num} == 0  wait until page contains element with reloading  ${qualification_form_0_open_btn_locator}
    ...  AND                                                    run keyword if  ${award_num} == 0  open popup by btn locator  ${qualification_form_0_open_btn_locator}
##### BOF - TMP #####
    ...  AND                                                    run keyword if  ${award_num} == 1  open popup by btn locator  ${qualification_form_1_open_btn_locator}
    ...  AND                                                    run keyword if  ${award_num} == -1  open popup by btn locator  ${qualification_form_last_open_btn_locator}
    ...  AND                                                    run keyword if  ${award_num} == 2  open popup by btn locator  ${qualification_form_2_open_btn_locator}
    ...  ELSE IF                                                "${mode}" in "open_framework"  Run Keywords
    ...                                                         run keyword if  ${award_num} == 0  wait until page contains element with reloading  ${qualification_form_0_open_btn_locator}
    ...  AND                                                    run keyword if  ${award_num} == 0  open popup by btn locator  ${qualification_form_0_open_btn_locator}
    ...  AND                                                    run keyword if  ${award_num} == 1  open popup by btn locator  ${qualification_form_1_open_btn_locator}
    ...  AND                                                    run keyword if  ${award_num} == -1  open popup by btn locator  ${qualification_form_last_open_btn_locator}
    ...  AND                                                    run keyword if  ${award_num} == 2  open popup by btn locator  ${qualification_form_2_open_btn_locator}
    ...  AND                                                    run keyword if  ${award_num} == 3  open popup by btn locator  ${qualification_form_3_open_btn_locator}

copy file qualification
    [Arguments]                                                 ${username}  ${document}  ${award_num}
    [Documentation]                                             Завантажити документ, який знаходиться по шляху document до
    ...                                                         постачальника під номером award_num для тендера tender_uaid.

    ## copy file to another dir to prevent it deleting
    ${new_doc_name} =                                           Replace String  ${document}  /tmp/  /tmp/playtender/
    Copy File                                                   ${document}  ${new_doc_name}
    Set To Dictionary                                           ${USERS.users['${username}']}  qproposal${award_num}_document=${new_doc_name}

confirm award qualification
    [Arguments]                                                 ${username}  ${award_num}
    [Documentation]                                             Перевести постачальника під номером award_num для тендера tender_uaid
    ...                                                         в статус active.

    Wait Until Page Contains                                    ${popup_opened_content_success_locator}  60
    run keyword and ignore error                                wait until element is visible  ${tender_status_active_qualification_value_locator}  10
    wait until element is visible                               ${qualification_form_submit_btn_locator}  60
#    ${doc_isset}=  GetDictionaryKeyExist  ${USERS.users['${username}']}  qproposal${award_num}_document
#    ${doc_name}=  Run Keyword If  ${doc_isset}  GetValueFromDictionaryByKey  ${USERS.users['${username}']}  qproposal${award_num}_document
#    ...  ELSE  create_fake_doc
    ${file_path}  ${file_name}  ${file_content} =               create_fake_doc
#    Execute Javascript                                          ${qualification_form_accept_input_locator}
    Execute Javascript  $('#qualificationform-decision').val('accept').change()
#    select from visible list by label  ${tender_form_award_organization_region_id_locator}  ${region}
    capture page screenshot
    run keyword and ignore error                                wait until page contains element  ${qualification_form_eligible_input_locator}
    capture page screenshot
#    run keyword and ignore error                                click visible element  ${qualification_form_eligible_input_locator}
#    run keyword and ignore error                                click visible element  ${qualification_form_qualified_input_locator}
    run keyword and ignore error                                Execute Javascript  $('#qualificationform-qualified').click()
    run keyword and ignore error                                Execute Javascript  $('#qualificationform-eligible').click()
    choose file                                                 ${add_file_to_qualification_form_locator}  ${file_path}
    wait until page does not contain element                    ${popup_dynamic_form_loading_element_locator}  60
    wait until element is visible                               ${qualification_form_add_document_type_input_locator}  60
#    submit current visible popup

    Run Keyword And Ignore Error                                Execute Javascript  $('.fancybox-is-open .fancybox-content select[id*="-document_type"]:last').val('winningBid').change()
    capture page screenshot
    click visible element                                       ${qualification_form_add_document_description_btn_locator}
    capture page screenshot
    wait until element is visible                               ${qualification_form_add_document_description_input_locator}
    input text to exist visible input                           ${qualification_form_add_document_description_input_locator}  test2
    capture page screenshot
    click visible element                                       ${qualification_form_add_document_close_description_btn_locator}
    capture page screenshot

    run keyword and ignore error                                click visible element  ${qualification_ecp_check_input_locator}
    capture page screenshot
    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}
    capture page screenshot
    Run Keyword And Ignore Error                                wait until element is visible        ${qualification_form_submit_btn_locator}  60
##    run keyword and ignore error                                submit form and check result  ${qualification_form_submit_btn_locator}  ${None}  ${qualification_ecp_form_open_locator}
    Execute Javascript  $('.fancybox-is-open .fancybox-content button.btn.btn-success').click()
#    click visible element                                       ${qualification_form_submit_btn_locator}
    capture page screenshot
    Run Keyword And Ignore Error                                wait until element is visible                               ${qualification_form_submit_btn_locator}  60
    Run Keyword And Ignore Error                                wait until element is visible                               ${qualification_ecp_form_open_locator}  60
    run keyword and ignore error                                wait until element is visible  ${tender_status_active_qualification_value_locator}  10
    capture page screenshot
    run keyword and ignore error                                Load Sign
    capture page screenshot
    run keyword and ignore error                                close current visible alert
    capture page screenshot
    Run Keyword And Ignore Error                                wait until element is visible                               ${qualification_form_submit_btn_locator}  60
    run keyword and ignore error                                run keyword if  '${mode}' == 'open_framework'  close current visible alert
    capture page screenshot
    run keyword and ignore error                                wait until element is visible  ${tender_status_active_qualification_value_locator}  10
    capture page screenshot
    run keyword and ignore error                                submit form and check result  ${qualification_form_submit_btn_locator}  ${qualification_award_after_ecp_form_submit_success_msg}  ${None}
    capture page screenshot
#    Wait Until Page Contains                                    ЕЦП/КЕП успішно накладено на рішення, тепер потрібно підтвердити рішення.  60
#    click visible element                                       xpath=//div[contains(@class, 'jconfirm')]//*[text()='Закрити']


reject award qualification
    [Arguments]                                                 ${username}  ${award_num}
    [Documentation]                                             Перевести постачальника під номером award_num для тендера tender_uaid
    ...                                                         в статус active.

    Wait Until Page Contains                                    ${popup_opened_content_success_locator}  60
    wait until element is visible                               ${qualification_form_submit_btn_locator}  60
#    wait until popup is visible
    ${doc_isset} =                                              GetDictionaryKeyExist  ${USERS.users['${username}']}  qproposal${award_num}_document
#    ${doc_name} =                                               Run Keyword If  ${doc_isset}  GetValueFromDictionaryByKey  ${USERS.users['${username}']}  qproposal${award_num}_document
#    ...                                                         ELSE  GenerateFakeDocument
    ${file_path}  ${file_name}  ${file_content} =               create_fake_doc
    Execute Javascript  $('#qualificationform-decision').val('decline').change()
    capture page screenshot
#    select from visible list by label  ${tender_form_award_organization_region_id_locator}  ${region}
    wait until page contains element                            ${qualification_form_reasons_cancellation_input_locator}
    capture page screenshot
    Execute Javascript  ${qualification_award_form_title_cancellation_input_locator}
    capture page screenshot
#    input text to exist visible input                           ${qualification_form_reasons_cancellation_input_locator}  GenerateFakeText
    input text to exist visible input                           ${qualification_form_description_cancellation_input_locator}  GenerateFakeText

    choose file                                                 ${add_file_to_qualification_form_locator}  ${file_path}
    wait until element is visible                               ${qualification_form_add_document_type_input_locator}
#    submit current visible popup

    Run Keyword And Ignore Error  Execute Javascript  $('.fancybox-is-open .fancybox-content #qualification-documents select[id*="-document_type"]:last').val('winningBid').change()
    capture page screenshot
    click visible element                                       ${qualification_form_add_document_description_btn_locator}
    wait until element is visible                               ${qualification_form_add_document_description_input_locator}
    input text to exist visible input                           ${qualification_form_add_document_description_input_locator}  test2
    capture page screenshot
    click visible element                                       ${qualification_form_add_document_close_description_btn_locator}
    capture page screenshot

    submit form and check result                                ${qualification_form_submit_btn_locator}  ${qualification_form_cancell_success_msg}
    run keyword and ignore error                                wait until element is visible  ${tender_status_active_qualification_value_locator}  10
    capture page screenshot
    Execute Javascript  $('.fancybox-is-open .fancybox-content button.btn.btn-success').click()
    capture page screenshot
    run keyword and ignore error                                Load Sign
    capture page screenshot
    wait until element is visible                               ${qualification_form_submit_btn_locator}  60
    run keyword and ignore error                                wait until element is visible  ${tender_status_active_qualification_value_locator}  10
    capture page screenshot
    run keyword and ignore error                                close current visible alert
    capture page screenshot
    click visible element                                       ${qualification_form_submit_btn_locator}
    capture page screenshot
    run keyword and ignore error                                close current visible alert
    capture page screenshot
    Execute Javascript  $('.fancybox-is-open .fancybox-content button.btn.btn-success').click()
    capture page screenshot
    run keyword and ignore error                                Load Sign
    capture page screenshot

    run keyword and ignore error                                submit form and check result  ${qualification_form_submit_btn_locator}  ${qualification_award_after_ecp_form_submit_success_msg}  ${None}
    capture page screenshot
    reload page

cancel award qualification
    [Documentation]                                             Відкрити форму кваліфікації і перевести кваліфікацію під номером qualification_num до тендера
    ...                                                         tender_uaid в статус cancelled.

    wait until element is visible                               ${qualification_form_submit_btn_locator}  60
#    Execute Javascript                                          ${qualification_form_cancel_input_locator}
    Execute Javascript  $('#qualificationform-decision').val('cancel').change()
#    select from visible list by label  ${tender_form_award_organization_region_id_locator}  ${region}
    capture page screenshot
    run keyword and ignore error                                wait until page contains element                            ${qualification_form_description_cancellation_input_locator}
    capture page screenshot
    run keyword and ignore error                                Execute Javascript  ${qualification_award_form_title_decline_input_locator}
    run keyword and ignore error                                input text to exist visible input                           ${qualification_form_description_cancellation_input_locator}  GenerateFakeText
    capture page screenshot
    submit form and check result                                ${qualification_form_submit_btn_locator}  ${qualification_form_cancel_success_msg}  ${tender_created_checker_element_locator}

#qualification awawd reporting and negotiotion
confirm award
    [Arguments]                                                 ${document}
    [Documentation]                                             Перевести постачальника в статус active.

    run keyword and ignore error                                run keyword if  '${mode}' in 'negotiation reporting'  Wait Until Page Contains  ${award_form_negotiation_submit_success_msg}  10
#    run keyword and ignore error                                run keyword if  '${mode}' in 'negotiation reporting'  wait until alert is visible  ${award_form_negotiation_submit_success_msg}
    run keyword and ignore error                                run keyword if  '${mode}' in 'negotiation reporting'  close current visible alert

    capture page screenshot
    wait until page contains element with reloading             ${qualification_form_0_open_btn_locator}
    open popup by btn locator                                   ${qualification_form_0_open_btn_locator}
#    ${file_path}  ${file_name}  ${file_content} =               create_fake_doc
    Execute Javascript  $('#qualificationform-decision').val('accept').change()
    capture page screenshot
#    run keyword and ignore error                                wait until page contains element  ${award_form_qualified_input_locator}
    capture page screenshot
    run keyword and ignore error                                click visible element  ${award_form_qualified_input_locator}
    choose file                                                 ${add_file_to_qualification_form_locator}  ${document}
#    wait until page does not contain element                    ${popup_dynamic_form_loading_element_locator}  60
    wait until element is visible                               ${qualification_form_add_document_type_input_locator}  60
#    submit current visible popup

    Run Keyword And Ignore Error                                Execute Javascript  $('.fancybox-is-open .fancybox-content select[id*="-document_type"]:last').val('winningBid').change()
    capture page screenshot
    click visible element                                       ${qualification_form_add_document_description_btn_locator}
    capture page screenshot
    wait until element is visible                               ${qualification_form_add_document_description_input_locator}
    input text to exist visible input                           ${qualification_form_add_document_description_input_locator}  test2
    capture page screenshot
    click visible element                                       ${qualification_form_add_document_close_description_btn_locator}
    capture page screenshot

#    run keyword and ignore error                                run keyword if  '${mode}' in 'reporting'  submit form and check result  ${qualification_form_submit_btn_locator}  ${qualification_award_form_submit_success_msg}
    capture page screenshot
#    run keyword and ignore error                                run keyword if  '${mode}' in 'reporting'   wait until page contains element with reloading  ${qualification_form_0_open_btn_locator}
    capture page screenshot
#    run keyword and ignore error                                run keyword if  '${mode}' in 'reporting'   open popup by btn locator  ${qualification_form_0_open_btn_locator}
    run keyword and ignore error                                run keyword if  '${mode}' in 'reporting'   Execute Javascript  $('[id$="qualificationform-tender_not_signed_qualification_confirmation_required"]').click()
    capture page screenshot
#    run keyword and ignore error                                run keyword if  '${mode}' in 'reporting'   Execute Javascript  $('#qualificationform-decision').val('accept').change()
    run keyword and ignore error                                run keyword if  '${mode}' in 'negotiation'   Execute Javascript  $('[id$="qualificationform-qualified"]').click()
    capture page screenshot
    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}
    capture page screenshot
    run keyword and ignore error                                click visible element  ${qualification_ecp_check_input_locator}
    capture page screenshot
    wait until element is visible                               ${qualification_form_submit_btn_locator}  60
#    run keyword and ignore error                                submit form and check result  ${qualification_form_submit_btn_locator}  ${None}  ${qualification_ecp_form_open_locator}
    Execute Javascript  $('.fancybox-is-open .fancybox-content button.btn.btn-success').click()
#    click visible element                                       ${qualification_form_submit_btn_locator}
    capture page screenshot
    wait until element is visible                               ${qualification_form_submit_btn_locator}  60
    wait until element is visible                               ${qualification_ecp_form_open_locator}  60
    run keyword and ignore error                                wait until element is visible  ${tender_status_active_qualification_value_locator}  10
    capture page screenshot
    run keyword and ignore error                                Load Sign
    capture page screenshot
    run keyword and ignore error                                close current visible alert
    capture page screenshot
    wait until element is visible                               ${qualification_form_submit_btn_locator}  60
    run keyword and ignore error                                wait until element is visible  ${tender_status_active_qualification_value_locator}  10
    capture page screenshot
    run keyword and ignore error                                submit form and check result  ${qualification_form_submit_btn_locator}  ${qualification_award_after_ecp_form_submit_success_msg}  ${None}
    capture page screenshot

confirm awards
    [Documentation]                                             Перевести постачальників для тендера tender_uaid
    ...                                                         в статус active.

    wait until page contains element with reloading             ${qualification_agreement_form_approve_submit_btn_locator}  720  30
    click visible element                                       ${qualification_agreement_form_approve_submit_btn_locator}
    wait until page contains                                    ${qualification_agreement_form_approve_question_msg}
    Execute Javascript  ${qualification_form_approve_js_submit_btn_locator}
    Wait Until Page Contains                                    ${qualification_agreement_form_approve_success_msg}  60
    wait until alert is visible                                 ${qualification_agreement_form_approve_success_msg}
    run keyword and ignore error                                run keyword if condition is not none  ${qualification_agreement_form_approve_success_msg}  close current visible alert
    Wait Until Keyword Succeeds                                 800 s    20 s    Wait For QualificationsPeriodEnd
    Run Keyword If                                             ' ${username}' == 'playtender_Owner' and '${mode}' in 'open_framework'  sleep  900