def test_form_submit_with_incorrect_promocode(mozwebqa):

    data = generate_form_data()
    data['promo_code'] = get_random_string()

    page = RegistrationPage(mozwebqa)
    page.go_to_page('/join-now?path_id=txt.register')

    page.fill_registration_form(**data)
    page.click_on_submit_button()

    promo_error_msg = page.get_promocode_error_message
    assert promo_error_msg == u'Неверный промо-код. Укажите верное значение или оставьте поле пустым.', 'Promotion code error message is incorrect.'
def test_form_submit_with_incorrect_promocode(mozwebqa):

    data = generate_form_data()
    data['promo_code'] = get_random_string()

    page = RegistrationPage(mozwebqa)
    page.go_to_page('/join-now?path_id=txt.register')

    page.fill_registration_form(**data)
    page.click_on_submit_button()

    promo_error_msg = page.get_promocode_error_message
    assert promo_error_msg == u'Неверный промо-код. Укажите верное значение или оставьте поле пустым.', 'Promotion code error message is incorrect.'
def test_that_impossible_submit_empty_form(mozwebqa):

    page = RegistrationPage(mozwebqa)
    page.go_to_page('/join-now?path_id=txt.register')
    title = page.page_title

    page.clean_registration_form()
    page.click_on_submit_button()

    current_url = page.page_url
    assert current_url == page.base_url + '/join-now?path_id=txt.register', 'Page URL has been changed after submit of the empty form.'

    current_title = page.page_title
    assert current_title == title, 'Page title has been changed after submit of empty form.'
def test_form_submit_with_incorrect_email_format(mozwebqa, email, message):

    data = generate_form_data()
    data['email'] = email

    page = RegistrationPage(mozwebqa)
    page.go_to_page('/join-now?path_id=txt.register')

    page.fill_registration_form(**data)
    page.click_on_submit_button()

    email_error_msg = page.get_email_error_message

    assert email_error_msg == message, u'Incorrect error message for empty email field. Message: {0}'.format(email_error_msg)
def test_that_impossible_submit_empty_form(mozwebqa):

    page = RegistrationPage(mozwebqa)
    page.go_to_page('/join-now?path_id=txt.register')
    title = page.page_title

    page.clean_registration_form()
    page.click_on_submit_button()

    current_url = page.page_url
    assert current_url == page.base_url + '/join-now?path_id=txt.register', 'Page URL has been changed after submit of the empty form.'

    current_title = page.page_title
    assert current_title == title, 'Page title has been changed after submit of empty form.'
def test_password_field_length_validation(mozwebqa):

    data = generate_form_data()
    data['password'] = '******'

    page = RegistrationPage(mozwebqa)
    page.go_to_page('/join-now?path_id=txt.register')

    page.fill_registration_form(**data)
    page.click_on_submit_button()

    password_error_msg = page.get_password_error_message
    expected_password_error_msg = u'Количество символов должно быть от 3 до 100.'
    assert password_error_msg == expected_password_error_msg, 'Password validation error message is incorrect. Message: {0}'.format(password_error_msg)
def test_password_field_length_validation(mozwebqa):

    data = generate_form_data()
    data['password'] = '******'

    page = RegistrationPage(mozwebqa)
    page.go_to_page('/join-now?path_id=txt.register')

    page.fill_registration_form(**data)
    page.click_on_submit_button()

    password_error_msg = page.get_password_error_message
    expected_password_error_msg = u'Количество символов должно быть от 3 до 100.'
    assert password_error_msg == expected_password_error_msg, 'Password validation error message is incorrect. Message: {0}'.format(
        password_error_msg)
def test_form_submit_with_incorrect_email_format(mozwebqa, email, message):

    data = generate_form_data()
    data['email'] = email

    page = RegistrationPage(mozwebqa)
    page.go_to_page('/join-now?path_id=txt.register')

    page.fill_registration_form(**data)
    page.click_on_submit_button()

    email_error_msg = page.get_email_error_message

    assert email_error_msg == message, u'Incorrect error message for empty email field. Message: {0}'.format(
        email_error_msg)
def test_form_submit_without_eula_agreement(mozwebqa):

    data = generate_form_data()

    page = RegistrationPage(mozwebqa)
    page.go_to_page('/join-now?path_id=txt.register')

    page.fill_registration_form(**data)
    page.uncheck_eula_agreement_checkbox()
    page.click_on_submit_button()

    eula_error_msg = page.get_eula_error_message
    expected_eula_error_msg = u'Вы должны принять правила'

    assert eula_error_msg == expected_eula_error_msg, 'Incorrect EULA error message. Message: {0}'.format(eula_error_msg)
def test_form_submit_without_eula_agreement(mozwebqa):

    data = generate_form_data()

    page = RegistrationPage(mozwebqa)
    page.go_to_page('/join-now?path_id=txt.register')

    page.fill_registration_form(**data)
    page.uncheck_eula_agreement_checkbox()
    page.click_on_submit_button()

    eula_error_msg = page.get_eula_error_message
    expected_eula_error_msg = u'Вы должны принять правила'

    assert eula_error_msg == expected_eula_error_msg, 'Incorrect EULA error message. Message: {0}'.format(
        eula_error_msg)