diff --git a/app/main/views/sign_in.py b/app/main/views/sign_in.py index 8721c7451..fc8e9b049 100644 --- a/app/main/views/sign_in.py +++ b/app/main/views/sign_in.py @@ -30,6 +30,9 @@ def sign_in(): return redirect(url_for('main.choose_service')) form = LoginForm() + if form.email_address.data: + form.email_address.data = form.email_address.data.strip() + if form.validate_on_submit(): user = user_api_client.get_user_by_email_or_none(form.email_address.data) diff --git a/tests/app/main/views/test_sign_in.py b/tests/app/main/views/test_sign_in.py index 97b1956ac..dc9d4da29 100644 --- a/tests/app/main/views/test_sign_in.py +++ b/tests/app/main/views/test_sign_in.py @@ -77,6 +77,10 @@ def test_logged_in_user_redirects_to_choose_service( assert response.location == url_for('main.choose_service', _external=True) +@pytest.mark.parametrize('email_address', [ + 'valid@example.gov.uk', + ' valid@example.gov.uk ', +]) def test_process_sms_auth_sign_in_return_2fa_template( client, api_user_active, @@ -84,14 +88,16 @@ def test_process_sms_auth_sign_in_return_2fa_template( mock_get_user, mock_get_user_by_email, mock_verify_password, + email_address, ): response = client.post( url_for('main.sign_in'), data={ - 'email_address': 'valid@example.gov.uk', + 'email_address': email_address, 'password': 'val1dPassw0rd!'}) assert response.status_code == 302 assert response.location == url_for('.two_factor', _external=True) mock_verify_password.assert_called_with(api_user_active.id, 'val1dPassw0rd!') + mock_get_user_by_email.assert_called_with('valid@example.gov.uk') def test_process_email_auth_sign_in_return_2fa_template(