mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-07 14:58:24 -04:00
Make a few more test files Pytest 5 compliant
This commit is contained in:
@@ -2,11 +2,6 @@ import pytest
|
|||||||
|
|
||||||
from app import user_api_client
|
from app import user_api_client
|
||||||
from app.main.forms import TwoFactorForm
|
from app.main.forms import TwoFactorForm
|
||||||
from tests.conftest import (
|
|
||||||
mock_check_verify_code,
|
|
||||||
mock_check_verify_code_code_expired,
|
|
||||||
mock_check_verify_code_code_not_found,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def _check_code(code):
|
def _check_code(code):
|
||||||
@@ -28,47 +23,51 @@ def test_form_is_valid_returns_no_errors(
|
|||||||
assert form.errors == {}
|
assert form.errors == {}
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('mock, post_data, expected_error', (
|
@pytest.mark.parametrize('post_data, expected_error', (
|
||||||
(
|
(
|
||||||
mock_check_verify_code,
|
|
||||||
{'sms_code': '1234'},
|
{'sms_code': '1234'},
|
||||||
'Not enough numbers',
|
'Not enough numbers',
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
mock_check_verify_code,
|
|
||||||
{'sms_code': '123456'},
|
{'sms_code': '123456'},
|
||||||
'Too many numbers',
|
'Too many numbers',
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
mock_check_verify_code,
|
|
||||||
{},
|
{},
|
||||||
'Cannot be empty',
|
'Cannot be empty',
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
mock_check_verify_code,
|
|
||||||
{'sms_code': '12E45'},
|
{'sms_code': '12E45'},
|
||||||
'Numbers only',
|
'Numbers only',
|
||||||
),
|
),
|
||||||
(
|
|
||||||
mock_check_verify_code_code_expired,
|
|
||||||
{'sms_code': '99999'},
|
|
||||||
'Code has expired',
|
|
||||||
),
|
|
||||||
(
|
|
||||||
mock_check_verify_code_code_not_found,
|
|
||||||
{'sms_code': '99999'},
|
|
||||||
'Code not found',
|
|
||||||
),
|
|
||||||
))
|
))
|
||||||
def test_returns_errors_when_code_is_too_short(
|
def test_check_verify_code_returns_errors(
|
||||||
app_,
|
app_,
|
||||||
mocker,
|
|
||||||
mock,
|
|
||||||
post_data,
|
post_data,
|
||||||
expected_error,
|
expected_error,
|
||||||
|
mock_check_verify_code,
|
||||||
):
|
):
|
||||||
mock(mocker)
|
|
||||||
with app_.test_request_context(method='POST', data=post_data):
|
with app_.test_request_context(method='POST', data=post_data):
|
||||||
form = TwoFactorForm(_check_code)
|
form = TwoFactorForm(_check_code)
|
||||||
assert form.validate() is False
|
assert form.validate() is False
|
||||||
assert form.errors == {'sms_code': [expected_error]}
|
assert form.errors == {'sms_code': [expected_error]}
|
||||||
|
|
||||||
|
|
||||||
|
def test_check_verify_code_returns_error_when_code_has_expired(
|
||||||
|
app_,
|
||||||
|
mock_check_verify_code_code_expired,
|
||||||
|
):
|
||||||
|
with app_.test_request_context(method='POST', data={'sms_code': '99999'}):
|
||||||
|
form = TwoFactorForm(_check_code)
|
||||||
|
assert form.validate() is False
|
||||||
|
assert form.errors == {'sms_code': ['Code has expired']}
|
||||||
|
|
||||||
|
|
||||||
|
def test_check_verify_code_returns_error_when_code_was_not_found(
|
||||||
|
app_,
|
||||||
|
mock_check_verify_code_code_not_found,
|
||||||
|
):
|
||||||
|
with app_.test_request_context(method='POST', data={'sms_code': '99999'}):
|
||||||
|
form = TwoFactorForm(_check_code)
|
||||||
|
assert form.validate() is False
|
||||||
|
assert form.errors == {'sms_code': ['Code not found']}
|
||||||
|
|||||||
@@ -5,13 +5,7 @@ import pytest
|
|||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
from flask import url_for
|
from flask import url_for
|
||||||
|
|
||||||
from tests.conftest import (
|
from tests.conftest import SERVICE_ONE_ID, SERVICE_TWO_ID, normalize_spaces
|
||||||
SERVICE_ONE_ID,
|
|
||||||
SERVICE_TWO_ID,
|
|
||||||
normalize_spaces,
|
|
||||||
service_one,
|
|
||||||
service_two,
|
|
||||||
)
|
|
||||||
|
|
||||||
OS1, OS2, OS3, S1, S2, S3 = repeat(uuid.uuid4(), 6)
|
OS1, OS2, OS3, S1, S2, S3 = repeat(uuid.uuid4(), 6)
|
||||||
|
|
||||||
@@ -237,43 +231,58 @@ def test_choose_account_should_not_show_back_to_service_link_if_service_archived
|
|||||||
assert page.select_one('.navigation-service a') is None
|
assert page.select_one('.navigation-service a') is None
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('service, expected_status, page_text', (
|
def test_should_not_show_back_to_service_if_user_doesnt_belong_to_service(
|
||||||
(service_one, 200, (
|
client_request,
|
||||||
'Test Service Switch service '
|
fake_uuid,
|
||||||
''
|
mock_get_service,
|
||||||
'Dashboard '
|
service_two,
|
||||||
'Templates '
|
):
|
||||||
'Team members'
|
mock_get_service.return_value = service_two
|
||||||
)),
|
expected_page_text = (
|
||||||
(service_two, 403, (
|
|
||||||
# Page has no ‘back to’ link
|
# Page has no ‘back to’ link
|
||||||
'You’re not allowed to see this page '
|
'You’re not allowed to see this page '
|
||||||
'To check your permissions, speak to a member of your team who can manage settings, team and usage.'
|
'To check your permissions, speak to a member of your team who can manage settings, team and usage.'
|
||||||
)),
|
)
|
||||||
))
|
|
||||||
def test_should_not_show_back_to_service_if_user_doesnt_belong_to_service(
|
|
||||||
client_request,
|
|
||||||
api_user_active,
|
|
||||||
fake_uuid,
|
|
||||||
mock_get_service,
|
|
||||||
mock_get_service_template,
|
|
||||||
mock_get_template_folders,
|
|
||||||
service,
|
|
||||||
expected_status,
|
|
||||||
page_text,
|
|
||||||
):
|
|
||||||
mock_get_service.return_value = service(api_user_active)
|
|
||||||
|
|
||||||
page = client_request.get(
|
page = client_request.get(
|
||||||
'main.view_template',
|
'main.view_template',
|
||||||
service_id=mock_get_service.return_value['id'],
|
service_id=mock_get_service.return_value['id'],
|
||||||
template_id=fake_uuid,
|
template_id=fake_uuid,
|
||||||
_expected_status=expected_status,
|
_expected_status=403,
|
||||||
_test_page_title=False,
|
_test_page_title=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
assert normalize_spaces(
|
assert normalize_spaces(
|
||||||
page.select_one('header + .govuk-width-container').text
|
page.select_one('header + .govuk-width-container').text
|
||||||
).startswith(
|
).startswith(
|
||||||
normalize_spaces(page_text)
|
normalize_spaces(expected_page_text)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_should_show_back_to_service_if_user_belongs_to_service(
|
||||||
|
client_request,
|
||||||
|
fake_uuid,
|
||||||
|
mock_get_service,
|
||||||
|
mock_get_service_template,
|
||||||
|
service_one,
|
||||||
|
):
|
||||||
|
mock_get_service.return_value = service_one
|
||||||
|
expected_page_text = (
|
||||||
|
'Test Service Switch service '
|
||||||
|
''
|
||||||
|
'Dashboard '
|
||||||
|
'Templates '
|
||||||
|
'Team members'
|
||||||
|
)
|
||||||
|
|
||||||
|
page = client_request.get(
|
||||||
|
'main.view_template',
|
||||||
|
service_id=mock_get_service.return_value['id'],
|
||||||
|
template_id=fake_uuid,
|
||||||
|
_test_page_title=False,
|
||||||
|
)
|
||||||
|
|
||||||
|
assert normalize_spaces(
|
||||||
|
page.select_one('header + .govuk-width-container').text
|
||||||
|
).startswith(
|
||||||
|
normalize_spaces(expected_page_text)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -11,10 +11,8 @@ from tests.conftest import (
|
|||||||
USER_ONE_ID,
|
USER_ONE_ID,
|
||||||
active_caseworking_user,
|
active_caseworking_user,
|
||||||
active_user_with_permissions,
|
active_user_with_permissions,
|
||||||
|
normalize_spaces,
|
||||||
)
|
)
|
||||||
from tests.conftest import mock_check_invite_token as mock_check_token_invite
|
|
||||||
from tests.conftest import normalize_spaces
|
|
||||||
from tests.conftest import sample_invite as create_sample_invite
|
|
||||||
|
|
||||||
|
|
||||||
def test_existing_user_accept_invite_calls_api_and_redirects_to_dashboard(
|
def test_existing_user_accept_invite_calls_api_and_redirects_to_dashboard(
|
||||||
@@ -296,13 +294,12 @@ def test_new_user_accept_invite_calls_api_and_views_registration_page(
|
|||||||
|
|
||||||
def test_cancelled_invited_user_accepts_invited_redirect_to_cancelled_invitation(
|
def test_cancelled_invited_user_accepts_invited_redirect_to_cancelled_invitation(
|
||||||
client,
|
client,
|
||||||
service_one,
|
|
||||||
mocker,
|
|
||||||
mock_get_user,
|
mock_get_user,
|
||||||
mock_get_service,
|
mock_get_service,
|
||||||
|
sample_invite,
|
||||||
|
mock_check_invite_token,
|
||||||
):
|
):
|
||||||
cancelled_invitation = create_sample_invite(mocker, service_one, status='cancelled')
|
sample_invite['status'] = 'cancelled'
|
||||||
mock_check_token_invite(mocker, cancelled_invitation)
|
|
||||||
response = client.get(url_for('main.accept_invite', token='thisisnotarealtoken'))
|
response = client.get(url_for('main.accept_invite', token='thisisnotarealtoken'))
|
||||||
|
|
||||||
app.invite_api_client.check_token.assert_called_with('thisisnotarealtoken')
|
app.invite_api_client.check_token.assert_called_with('thisisnotarealtoken')
|
||||||
|
|||||||
Reference in New Issue
Block a user