mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-24 00:07:02 -04:00
Use client and logged_in_client fixtures
Wherever possible, because Don’t Repeat Yourself.
This commit is contained in:
@@ -9,60 +9,56 @@ from unittest.mock import Mock
|
||||
'govuknotify', '11111111', 'kittykat', 'evangeli'
|
||||
])
|
||||
def test_should_raise_validation_error_for_password(
|
||||
app_,
|
||||
client,
|
||||
mock_get_user_by_email,
|
||||
password,
|
||||
):
|
||||
with app_.test_request_context():
|
||||
form = RegisterUserForm()
|
||||
form.name.data = 'test'
|
||||
form.email_address.data = 'teset@example.gov.uk'
|
||||
form.mobile_number.data = '441231231231'
|
||||
form.password.data = password
|
||||
form = RegisterUserForm()
|
||||
form.name.data = 'test'
|
||||
form.email_address.data = 'teset@example.gov.uk'
|
||||
form.mobile_number.data = '441231231231'
|
||||
form.password.data = password
|
||||
|
||||
form.validate()
|
||||
assert 'Choose a password that’s harder to guess' in form.errors['password']
|
||||
form.validate()
|
||||
assert 'Choose a password that’s harder to guess' in form.errors['password']
|
||||
|
||||
|
||||
def test_valid_email_not_in_valid_domains(
|
||||
app_
|
||||
client
|
||||
):
|
||||
with app_.test_request_context():
|
||||
form = RegisterUserForm(email_address="test@test.com", mobile_number='441231231231')
|
||||
assert not form.validate()
|
||||
assert "Enter a central government email address" in form.errors['email_address'][0]
|
||||
form = RegisterUserForm(email_address="test@test.com", mobile_number='441231231231')
|
||||
assert not form.validate()
|
||||
assert "Enter a central government email address" in form.errors['email_address'][0]
|
||||
|
||||
|
||||
def test_valid_email_in_valid_domains(
|
||||
app_
|
||||
client
|
||||
):
|
||||
with app_.test_request_context():
|
||||
form = RegisterUserForm(
|
||||
name="test",
|
||||
email_address="test@my.gov.uk",
|
||||
mobile_number='4407888999111',
|
||||
password='an uncommon password')
|
||||
form.validate()
|
||||
assert form.errors == {}
|
||||
form = RegisterUserForm(
|
||||
name="test",
|
||||
email_address="test@my.gov.uk",
|
||||
mobile_number='4407888999111',
|
||||
password='an uncommon password')
|
||||
form.validate()
|
||||
assert form.errors == {}
|
||||
|
||||
|
||||
def test_invalid_email_address_error_message(
|
||||
app_
|
||||
client
|
||||
):
|
||||
with app_.test_request_context():
|
||||
form = RegisterUserForm(
|
||||
name="test",
|
||||
email_address="test.com",
|
||||
mobile_number='4407888999111',
|
||||
password='1234567890')
|
||||
assert not form.validate()
|
||||
form = RegisterUserForm(
|
||||
name="test",
|
||||
email_address="test.com",
|
||||
mobile_number='4407888999111',
|
||||
password='1234567890')
|
||||
assert not form.validate()
|
||||
|
||||
form = RegisterUserForm(
|
||||
name="test",
|
||||
email_address="test.com",
|
||||
mobile_number='4407888999111',
|
||||
password='1234567890')
|
||||
assert not form.validate()
|
||||
form = RegisterUserForm(
|
||||
name="test",
|
||||
email_address="test.com",
|
||||
mobile_number='4407888999111',
|
||||
password='1234567890')
|
||||
assert not form.validate()
|
||||
|
||||
|
||||
def _gen_mock_field(x):
|
||||
@@ -94,12 +90,11 @@ def _gen_mock_field(x):
|
||||
'test@hmcts.net',
|
||||
])
|
||||
def test_valid_list_of_white_list_email_domains(
|
||||
app_,
|
||||
client,
|
||||
email,
|
||||
):
|
||||
with app_.test_request_context():
|
||||
email_domain_validators = ValidGovEmail()
|
||||
email_domain_validators(None, _gen_mock_field(email))
|
||||
email_domain_validators = ValidGovEmail()
|
||||
email_domain_validators(None, _gen_mock_field(email))
|
||||
|
||||
|
||||
@pytest.mark.parametrize("email", [
|
||||
@@ -129,44 +124,41 @@ def test_valid_list_of_white_list_email_domains(
|
||||
'test@ucds.com'
|
||||
])
|
||||
def test_invalid_list_of_white_list_email_domains(
|
||||
app_,
|
||||
client,
|
||||
email,
|
||||
):
|
||||
with app_.test_request_context():
|
||||
email_domain_validators = ValidGovEmail()
|
||||
with pytest.raises(ValidationError):
|
||||
email_domain_validators(None, _gen_mock_field(email))
|
||||
email_domain_validators = ValidGovEmail()
|
||||
with pytest.raises(ValidationError):
|
||||
email_domain_validators(None, _gen_mock_field(email))
|
||||
|
||||
|
||||
def test_for_commas_in_placeholders(
|
||||
app_
|
||||
client
|
||||
):
|
||||
with app_.test_request_context():
|
||||
with pytest.raises(ValidationError) as error:
|
||||
NoCommasInPlaceHolders()(None, _gen_mock_field('Hello ((name,date))'))
|
||||
assert str(error.value) == 'You can’t have commas in your fields'
|
||||
NoCommasInPlaceHolders()(None, _gen_mock_field('Hello ((name))'))
|
||||
with pytest.raises(ValidationError) as error:
|
||||
NoCommasInPlaceHolders()(None, _gen_mock_field('Hello ((name,date))'))
|
||||
assert str(error.value) == 'You can’t have commas in your fields'
|
||||
NoCommasInPlaceHolders()(None, _gen_mock_field('Hello ((name))'))
|
||||
|
||||
|
||||
def test_sms_sender_form_validation(
|
||||
app_,
|
||||
client,
|
||||
mock_get_user_by_email,
|
||||
):
|
||||
with app_.test_request_context():
|
||||
form = ServiceSmsSender()
|
||||
form = ServiceSmsSender()
|
||||
|
||||
form.sms_sender.data = 'elevenchars'
|
||||
form.validate()
|
||||
assert not form.errors
|
||||
form.sms_sender.data = 'elevenchars'
|
||||
form.validate()
|
||||
assert not form.errors
|
||||
|
||||
form.sms_sender.data = ''
|
||||
form.validate()
|
||||
assert not form.errors
|
||||
form.sms_sender.data = ''
|
||||
form.validate()
|
||||
assert not form.errors
|
||||
|
||||
form.sms_sender.data = 'morethanelevenchars'
|
||||
form.validate()
|
||||
assert "Enter fewer than 11 characters" == form.errors['sms_sender'][0]
|
||||
form.sms_sender.data = 'morethanelevenchars'
|
||||
form.validate()
|
||||
assert "Enter fewer than 11 characters" == form.errors['sms_sender'][0]
|
||||
|
||||
form.sms_sender.data = '###########'
|
||||
form.validate()
|
||||
assert 'Use letters and numbers only' == form.errors['sms_sender'][0]
|
||||
form.sms_sender.data = '###########'
|
||||
form.validate()
|
||||
assert 'Use letters and numbers only' == form.errors['sms_sender'][0]
|
||||
|
||||
Reference in New Issue
Block a user