コード例 #1
0
def signed_in_respondent_with_email(email):
    browser.visit(Config.FRONTSTAGE_SERVICE + '/sign-in')
    if '/sign-in' in browser.url:
        browser.driver.find_element_by_id('username').send_keys(email)
        browser.driver.find_element_by_id('inputPassword').send_keys(
            Config.RESPONDENT_PASSWORD)
        browser.find_by_id('sign_in_button').click()
def go_to(context):
    browser.visit(f'{Config.RESPONSE_OPERATIONS_UI}'
                  "/reporting-units/"
                  f"{context.short_name}")
    click_data_panel(context.short_name)
    browser.find_by_id("create-message-button-1").click()
    assert "messages/create-message" in browser.url
コード例 #3
0
def sign_in_respondent_without_go_to(context):
    if '/sign-in' in browser.url:
        browser.driver.find_element_by_id('username').send_keys(
            context.respondent_email)
        browser.driver.find_element_by_id('inputPassword').send_keys(
            Config.RESPONDENT_PASSWORD)
        browser.find_by_id('sign_in_button').click()
def confirm_correct_survey_selected(context):
    actual_iac = browser.find_by_id('enrolment_code').value
    actual_long_name = browser.find_by_id('survey_name').value

    assert context.iac == actual_iac
    assert context.long_name == actual_long_name

    browser.find_by_id('confirm_button').click()
コード例 #5
0
def get_respondent_details():
    respondent_details = {
        "email": browser.find_by_id('respondent-email').value,
        "name": browser.find_by_id('respondent-name').value,
        "telephone": browser.find_by_id('respondent-phone').value,
        "account_status": browser.find_by_id('respondent-account-status').value
    }
    return respondent_details
コード例 #6
0
def access_survey(survey_name):
    surveys_list = get_surveys_list()

    for survey in surveys_list.find_by_tag('li'):
        if survey.find_by_id(
                'SURVEY_NAME') and survey_name in survey.find_by_id(
                    'SURVEY_NAME').text:
            browser.find_by_id('access_survey_button_1').click()
            break
コード例 #7
0
def signed_in_respondent(context):
    sign_in_respondent.go_to()
    # Only attempt to sign in if not already signed in otherwise implicitly redirected to homepage
    if '/sign-in' in browser.url:
        browser.driver.find_element_by_id('username').send_keys(
            context.respondent_email)
        browser.driver.find_element_by_id('inputPassword').send_keys(
            Config.RESPONDENT_PASSWORD)
        browser.find_by_id('sign_in_button').click()
コード例 #8
0
def get_address():
    address_details = {
        "address_line_1": browser.find_by_id('case-address-line1').text,
        "address_line_2": browser.find_by_id('case-address-line2').text,
        "locality": browser.find_by_id('case-locality').text,
        "town": browser.find_by_id('case-town-name').text,
        "postcode": browser.find_by_id('case-postcode').text
    }
    return address_details
def complete_account_details(context):
    browser.driver.find_element_by_id('first_name').send_keys('FirstName')
    browser.driver.find_element_by_id('last_name').send_keys('LastName')
    browser.driver.find_element_by_id('email_address').send_keys(
        context.respondent_email)
    browser.driver.find_element_by_id('email_address_confirm').send_keys(
        context.respondent_email)
    browser.driver.find_element_by_id('password').send_keys('A234567_')
    browser.driver.find_element_by_id('password_confirm').send_keys('A234567_')
    browser.driver.find_element_by_id('phone_number').send_keys('01172345678')

    browser.find_by_id('continue_button').click()
コード例 #10
0
def try_sign_out():
    sign_in_internal.go_to()

    if browser.find_by_id('sign-out-btn'):
        sign_out()
    else:
        logger.info(f"Could not see log out button on url {browser.url}")
コード例 #11
0
def get_subject_and_body():
    form_text_fields = browser.find_by_id("secure-message-form").first
    form_text_field_attributes = {
        'subject': form_text_fields.find_by_id('secure-message-subject').value,
        'body': form_text_fields.find_by_id('secure-message-body').value
    }
    return form_text_field_attributes
コード例 #12
0
def get_cases():
    wait_for_text_present_with_reloads('Ref:', timeout=5, retry=1, reload_count=10)
    case_list = browser.find_by_id('survey-list').find_by_name('survey-card')
    cases = [{
        "survey": case.find_by_id('SURVEY_NAME').text,
        "business_details": case.find_by_name('reporting-unit-details').text,
        "period": case.find_by_name('period').text,
        "status": case.find_by_name('status').text
    } for case in case_list]
def get_ru_details_attributes():
    ru_details_table = browser.find_by_id("create-message-form").first
    ru_details_table_attributes = {
        'survey': ru_details_table.find_by_id('hidden_survey').value,
        'ru_ref': ru_details_table.find_by_id('hidden_ru_ref').value,
        'business': ru_details_table.find_by_id('hidden_business').value,
        'to': ru_details_table.find_by_id('hidden_to').value,
        'to_uuid': ru_details_table.find_by_id('hidden_to_uuid').value,
        'to_ru_id': ru_details_table.find_by_id('hidden_to_ru_id').value
    }
    return ru_details_table_attributes
コード例 #14
0
def get_surveys():
    surveys = []
    table = browser.find_by_id('tbl-surveys').first
    rows = table.find_by_tag('tbody').find_by_tag('tr')
    for row in rows:
        surveys.append({
            'id': row.find_by_name('tbl-surveys-id').value,
            'name': row.find_by_name('tbl-surveys-title').value,
            'short_name': row.find_by_name('tbl-surveys-abbreviation').value,
            'legal_basis': row.find_by_name('tbl-surveys-legal-basis').value,
        })
    return surveys
コード例 #15
0
def get_survey_attributes():
    target_id = 'survey-attributes'
    wait_for_element_by_id(target_id, timeout=5, retry=1)
    survey_data = browser.find_by_id(target_id).first
    survey_attributes = {
        'survey_id': survey_data.find_by_id('survey-id').value,
        'survey_title': survey_data.find_by_id('survey-title').value,
        'survey_abbreviation':
        survey_data.find_by_id('survey-abbreviation').value,
        'survey_legal_basis':
        survey_data.find_by_id('survey-legal-basis').value,
    }
    return survey_attributes
コード例 #16
0
def get_messages():
    messages = []
    table = browser.find_by_id('tbl-messages')
    rows = table.find_by_tag('tbody').find_by_tag('tr')
    for row in rows:
        messages.append({
            'ru_ref': row.find_by_name('tbl-messages-RU_Ref').value,
            'business_name': row.find_by_name('tbl-messages-business').value,
            'subject': row.find_by_name('tbl-messages-subject').value,
            'from': row.find_by_name('tbl-messages-from').value,
            'to': row.find_by_name('tbl-messages-to').value,
            'received': row.find_by_name('tbl-messages-received').value
        })
    return messages
コード例 #17
0
def get_associated_collection_exercises(survey_short_name):
    survey_element_id = f'survey-{survey_short_name}'
    wait_for_element_by_id(survey_element_id, timeout=10, retry=1)
    ce_table = browser.find_by_id(survey_element_id).find_by_name('tbl-ce-for-survey')

    assert ce_table, f"Could not retrieve ce_table for {survey_element_id}"

    ce_rows = ce_table.find_by_tag('tbody').find_by_tag('tr')

    assert ce_rows, f"could not find ce_rows in ce_table for {survey_element_id}"

    exercises = [{
        "exercise_ref": row.find_by_name('tbl-ce-period').value,
        "company_name": row.find_by_name('tbl-ce-company-name').value,
        "company_region": row.find_by_name('tbl-ce-company-region').value,
        "status": row.find_by_name('tbl-ce-status').value,
        "status_change_link": row.find_by_name('tbl-ce-status').find_by_tag("a")
    } for row in ce_rows]
    return exercises
def confirm_unlock_account_internally(_):
    browser.find_by_id('confirm-btn').click()
コード例 #19
0
def send_message():
    browser.find_by_id('send-message-btn').click()
def check_account_locked_internally(context):
    reporting_unit.go_to(context.short_name)
    reporting_unit.click_data_panel(context.short_name)
    assert browser.find_by_id('account-status')[0].value == 'Locked'
    assert browser.find_by_id('respondent-unlock-link')[0].value == 'Unlock'
コード例 #21
0
def select_to_create_message():
    wait_for_element_by_id('create-message-link-1', timeout=3, retry=1)
    browser.find_by_id('create-message-link-1').click()
コード例 #22
0
def log_out_external_user(_):
    browser.find_by_id('SIGN_OUT_BTN').click()
コード例 #23
0
def get_surveys_list():
    wait_for_element_by_id('survey-list', timeout=10, retry=1)
    return browser.find_by_id('survey-list')
def ready_to_enrol_in_survey(_):
    home.go_to_external_home()
    browser.find_by_id('create-account').click()
def confirm_verification_email(context):
    actual_email_confirmation = browser.find_by_id(
        'email_confirmation_sent').value
    assert context.respondent_email in actual_email_confirmation
def unlock_account_internally(context):
    reporting_unit.click_data_panel(context.short_name)
    browser.find_by_id('respondent-unlock-link')[0].click()
コード例 #27
0
def get_table_heading():
    table = browser.find_by_id('tbl-messages')
    headings = table.find_by_tag('thead').find_by_tag('tr')
    return headings[0].value
def enter_enrolment_code(context):
    browser.driver.find_element_by_id('enrolment_code').send_keys(context.iac)
    browser.find_by_id('continue_button').click()
コード例 #29
0
def get_message_link_index(number_of_messages):
    return browser.find_by_id(f"message-link-{number_of_messages}")
def account_status_changed(context):
    assert browser.find_by_text('Account status changed')
    reporting_unit.click_data_panel(context.short_name)
    assert browser.find_by_id('account-status')[0].value == 'Active'