diff --git a/tests/app/main/views/test_feedback.py b/tests/app/main/views/test_feedback.py index bbebd4d2e..12fd61ded 100644 --- a/tests/app/main/views/test_feedback.py +++ b/tests/app/main/views/test_feedback.py @@ -12,13 +12,7 @@ from app.main.views.feedback import ( has_live_services, in_business_hours, ) -from tests.conftest import ( - active_user_with_permissions, - mock_get_services, - mock_get_services_with_no_services, - mock_get_services_with_one_service, - normalize_spaces, -) +from tests.conftest import normalize_spaces def no_redirect(): @@ -105,10 +99,10 @@ def test_get_feedback_page_with_prefilled_body( fake_uuid, prefilled_body, expected_textarea, + active_user_with_permissions, ): - user = active_user_with_permissions(fake_uuid) - user['email_address'] = 'test@marinemanagement.org.uk' - mocker.patch('app.user_api_client.get_user', return_value=user) + active_user_with_permissions['email_address'] = 'test@marinemanagement.org.uk' + mocker.patch('app.user_api_client.get_user', return_value=active_user_with_permissions) mock_post = mocker.patch('app.main.views.feedback.zendesk_client.create_ticket') page = client_request.get( 'main.feedback', @@ -400,19 +394,16 @@ def test_doesnt_lose_message_if_post_across_closing( assert 'feedback_message' not in session -@pytest.mark.parametrize('get_services_mock, expected_return_value', [ - (mock_get_services, True), - (mock_get_services_with_no_services, False), - (mock_get_services_with_one_service, False), -]) -def test_has_live_services( - mocker, - fake_uuid, - get_services_mock, - expected_return_value -): - get_services_mock(mocker, fake_uuid) - assert has_live_services(12345) == expected_return_value +def test_has_live_services(mock_get_services): + assert has_live_services(12345) is True + + +def test_has_live_services_when_there_are_no_services(mock_get_services_with_no_services): + assert has_live_services(12345) is False + + +def test_has_live_services_when_service_is_not_live(mock_get_services_with_one_service): + assert has_live_services(12345) is False @pytest.mark.parametrize('when, is_in_business_hours', [ diff --git a/tests/app/main/views/test_forgot_password.py b/tests/app/main/views/test_forgot_password.py index b97b3c750..c28c14430 100644 --- a/tests/app/main/views/test_forgot_password.py +++ b/tests/app/main/views/test_forgot_password.py @@ -3,7 +3,7 @@ from flask import Response, url_for from notifications_python_client.errors import HTTPError import app -from tests.conftest import api_user_active as create_active_user +from tests import user_json def test_should_render_forgot_password(client): @@ -23,7 +23,7 @@ def test_should_redirect_to_password_reset_sent_for_valid_email( email_address, mocker, ): - sample_user = create_active_user(fake_uuid, email_address=email_address) + sample_user = user_json(email_address=email_address) mocker.patch('app.user_api_client.send_reset_password_url', return_value=None) response = client.post( url_for('.forgot_password'), diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py index fd8497e5b..005016088 100644 --- a/tests/app/main/views/test_service_settings.py +++ b/tests/app/main/views/test_service_settings.py @@ -762,6 +762,7 @@ def test_should_check_for_sending_things_right( count_of_email_templates, reply_to_email_addresses, expected_reply_to_checklist_item, + active_user_with_permissions, ): def _templates_by_type(template_type): return { @@ -772,7 +773,7 @@ def test_should_check_for_sending_things_right( mock_get_users = mocker.patch( 'app.models.user.Users.client', return_value=( - [active_user_with_permissions(fake_uuid)] * count_of_users_with_manage_service + + [active_user_with_permissions] * count_of_users_with_manage_service + [active_user_no_settings_permission(fake_uuid)] ) ) diff --git a/tests/conftest.py b/tests/conftest.py index f1bec5d9a..2845ed130 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -703,15 +703,12 @@ USER_ONE_ID = "7b395b52-c6c1-469c-9d61-54166461c1ab" @pytest.fixture(scope='function') -def mock_get_services(mocker, fake_uuid, user=None): - if user is None: - user = active_user_with_permissions(fake_uuid) - +def mock_get_services(mocker, active_user_with_permissions): def _get_services(params_dict=None): service_one = service_json( - SERVICE_ONE_ID, "service_one", [user['id']], 1000, True, False) + SERVICE_ONE_ID, "service_one", [active_user_with_permissions['id']], 1000, True, False) service_two = service_json( - SERVICE_TWO_ID, "service_two", [user['id']], 1000, True, False) + SERVICE_TWO_ID, "service_two", [active_user_with_permissions['id']], 1000, True, False) return {'data': [service_one, service_two]} return mocker.patch( @@ -719,10 +716,7 @@ def mock_get_services(mocker, fake_uuid, user=None): @pytest.fixture(scope='function') -def mock_get_services_with_no_services(mocker, fake_uuid, user=None): - if user is None: - user = active_user_with_permissions(fake_uuid) - +def mock_get_services_with_no_services(mocker): def _get_services(params_dict=None): return {'data': []} @@ -731,13 +725,10 @@ def mock_get_services_with_no_services(mocker, fake_uuid, user=None): @pytest.fixture(scope='function') -def mock_get_services_with_one_service(mocker, fake_uuid, user=None): - if user is None: - user = api_user_active(fake_uuid) - +def mock_get_services_with_one_service(mocker, api_user_active): def _get_services(params_dict=None): return {'data': [service_json( - SERVICE_ONE_ID, "service_one", [user['id']], 1000, True, True + SERVICE_ONE_ID, "service_one", [api_user_active['id']], 1000, True, True )]} return mocker.patch( @@ -797,15 +788,12 @@ def mock_get_deleted_template(mocker): @pytest.fixture(scope='function') -def mock_get_template_version(mocker, fake_uuid, user=None): - if user is None: - user = api_user_active(fake_uuid) - +def mock_get_template_version(mocker, api_user_active): def _get(service_id, template_id, version): template_version = template_version_json( service_id, template_id, - user, + api_user_active, version=version ) return {'data': template_version} @@ -817,15 +805,12 @@ def mock_get_template_version(mocker, fake_uuid, user=None): @pytest.fixture(scope='function') -def mock_get_template_versions(mocker, fake_uuid, user=None): - if user is None: - user = api_user_active(fake_uuid) - +def mock_get_template_versions(mocker, api_user_active): def _get(service_id, template_id): template_version = template_version_json( service_id, template_id, - user, + api_user_active, version=1 ) return {'data': [template_version]} @@ -1146,11 +1131,11 @@ def platform_admin_user(fake_uuid): @pytest.fixture(scope='function') -def api_user_active(fake_uuid, email_address='test@user.gov.uk'): +def api_user_active(fake_uuid): user_data = {'id': fake_uuid, 'name': 'Test User', 'password': 'somepassword', - 'email_address': email_address, + 'email_address': 'test@user.gov.uk', 'mobile_number': '07700 900762', 'state': 'active', 'failed_login_count': 0, @@ -1520,39 +1505,22 @@ def mock_register_user(mocker, api_user_pending): @pytest.fixture(scope='function') -def mock_get_non_govuser(mocker, user=None): - if user is None: - user = api_user_active(sample_uuid(), email_address='someuser@notonwhitelist.com') +def mock_get_non_govuser(mocker, api_user_active): + api_user_active['email_address'] = 'someuser@notonwhitelist.com' def _get_user(id_): - user['id'] = id_ - return user + api_user_active['id'] = id_ + return api_user_active return mocker.patch( 'app.user_api_client.get_user', side_effect=_get_user) @pytest.fixture(scope='function') -def mock_get_user(mocker, user=None): - if user is None: - user = api_user_active(sample_uuid()) - +def mock_get_user(mocker, api_user_active): def _get_user(id_): - user['id'] = id_ - return user - - return mocker.patch( - 'app.user_api_client.get_user', side_effect=_get_user) - - -@pytest.fixture(scope='function') -def mock_get_organisation_user(mocker, user=None): - if user is None: - user = api_user_active(sample_uuid()) - - def _get_user(id_): - user['id'] = id_ - return user + api_user_active['id'] = id_ + return api_user_active return mocker.patch( 'app.user_api_client.get_user', side_effect=_get_user) @@ -1560,7 +1528,12 @@ def mock_get_organisation_user(mocker, user=None): @pytest.fixture(scope='function') def mock_get_locked_user(mocker, api_user_locked): - return mock_get_user(mocker, user=api_user_locked) + def _get_user(id_): + api_user_locked['id'] = id_ + return api_user_locked + + return mocker.patch( + 'app.user_api_client.get_user', side_effect=_get_user) @pytest.fixture(scope='function') @@ -1576,34 +1549,25 @@ def mock_get_user_pending(mocker, api_user_pending): @pytest.fixture(scope='function') -def mock_get_user_by_email(mocker, user=None): - if user is None: - user = api_user_active(sample_uuid()) - +def mock_get_user_by_email(mocker, api_user_active): def _get_user(email_address): - user['email_address'] = email_address - return user + api_user_active['email_address'] = email_address + return api_user_active return mocker.patch('app.user_api_client.get_user_by_email', side_effect=_get_user) @pytest.fixture(scope='function') -def mock_get_unknown_user_by_email(mocker, user=None): - if user is None: - user = api_user_active(USER_ONE_ID) +def mock_get_unknown_user_by_email(mocker, api_user_active): + api_user_active['id'] = USER_ONE_ID def _get_user(email_address): - user['email_address'] = email_address - return user + api_user_active['email_address'] = email_address + return api_user_active return mocker.patch('app.user_api_client.get_user_by_email', side_effect=_get_user) -@pytest.fixture(scope='function') -def mock_get_locked_user_by_email(mocker, api_user_locked): - return mock_get_user_by_email(mocker, user=api_user_locked) - - @pytest.fixture(scope='function') def mock_get_user_with_permissions(mocker, api_user_active): def _get_user(id): @@ -2882,7 +2846,7 @@ def platform_admin_client( service_one, mock_login, ): - mock_get_user(mocker, user=platform_admin_user) + mocker.patch('app.user_api_client.get_user', return_value=platform_admin_user) client.login(platform_admin_user, mocker, service_one) yield client @@ -3291,7 +3255,7 @@ def _get_organisation_services(organisation_id): return [ service_json('12345', 'service one'), service_json('67890', 'service two'), - service_json(SERVICE_ONE_ID, 'service one', [api_user_active(fake_uuid())['id']]) + service_json(SERVICE_ONE_ID, 'service one', [sample_uuid()]) ]