mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-11 10:28:41 -04:00
Reduce the errors related to user fixtures
We were using user fixtures in a lot of parameterized tests, but this is no longer allowed in Pytest 5. To avoid having to split up the parametrized tests (which would make the test files a lot longer and slightly more difficult to read) this commit creates functions which return various types of user json so that we can use these as the test parameters instead.
This commit is contained in:
@@ -10,9 +10,9 @@ from tests.conftest import (
|
||||
ORGANISATION_ID,
|
||||
SERVICE_ONE_ID,
|
||||
SERVICE_TWO_ID,
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions,
|
||||
create_platform_admin_user,
|
||||
normalize_spaces,
|
||||
platform_admin_user,
|
||||
)
|
||||
|
||||
|
||||
@@ -548,10 +548,10 @@ def test_organisation_settings_for_platform_admin(
|
||||
))
|
||||
@pytest.mark.parametrize('user', (
|
||||
pytest.param(
|
||||
platform_admin_user,
|
||||
create_platform_admin_user(),
|
||||
),
|
||||
pytest.param(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
marks=pytest.mark.xfail
|
||||
),
|
||||
))
|
||||
@@ -565,7 +565,7 @@ def test_view_organisation_settings(
|
||||
expected_selected,
|
||||
user,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
|
||||
page = client_request.get(endpoint, org_id=organisation_one['id'])
|
||||
|
||||
@@ -633,10 +633,10 @@ def test_view_organisation_settings(
|
||||
))
|
||||
@pytest.mark.parametrize('user', (
|
||||
pytest.param(
|
||||
platform_admin_user,
|
||||
create_platform_admin_user(),
|
||||
),
|
||||
pytest.param(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
marks=pytest.mark.xfail
|
||||
),
|
||||
))
|
||||
@@ -653,7 +653,7 @@ def test_update_organisation_settings(
|
||||
user,
|
||||
):
|
||||
mocker.patch('app.organisations_client.get_organisation_services', return_value=[])
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
|
||||
client_request.post(
|
||||
endpoint,
|
||||
@@ -704,10 +704,10 @@ def test_update_organisation_sector_sends_service_id_data_to_api_client(
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
pytest.param(
|
||||
platform_admin_user,
|
||||
create_platform_admin_user(),
|
||||
),
|
||||
pytest.param(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
marks=pytest.mark.xfail
|
||||
),
|
||||
))
|
||||
@@ -717,7 +717,7 @@ def test_view_organisation_domains(
|
||||
fake_uuid,
|
||||
user,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
|
||||
mocker.patch(
|
||||
'app.organisations_client.get_organisation',
|
||||
@@ -785,10 +785,10 @@ def test_view_organisation_domains(
|
||||
))
|
||||
@pytest.mark.parametrize('user', (
|
||||
pytest.param(
|
||||
platform_admin_user,
|
||||
create_platform_admin_user(),
|
||||
),
|
||||
pytest.param(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
marks=pytest.mark.xfail
|
||||
),
|
||||
))
|
||||
@@ -802,7 +802,7 @@ def test_update_organisation_domains(
|
||||
expected_persisted,
|
||||
user,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
|
||||
client_request.post(
|
||||
'main.edit_organisation_domains',
|
||||
|
||||
@@ -9,8 +9,8 @@ import app
|
||||
from tests.conftest import (
|
||||
SERVICE_ONE_ID,
|
||||
USER_ONE_ID,
|
||||
active_caseworking_user,
|
||||
active_user_with_permissions,
|
||||
create_active_caseworking_user,
|
||||
create_active_user_with_permissions,
|
||||
normalize_spaces,
|
||||
)
|
||||
|
||||
@@ -126,8 +126,8 @@ def test_invite_goes_in_session(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user, landing_page_title', [
|
||||
(active_user_with_permissions, 'Dashboard'),
|
||||
(active_caseworking_user, 'Templates'),
|
||||
(create_active_user_with_permissions(), 'Dashboard'),
|
||||
(create_active_caseworking_user(), 'Templates'),
|
||||
])
|
||||
def test_accepting_invite_removes_invite_from_session(
|
||||
client_request,
|
||||
@@ -153,7 +153,6 @@ def test_accepting_invite_removes_invite_from_session(
|
||||
user,
|
||||
landing_page_title,
|
||||
):
|
||||
user = user(fake_uuid)
|
||||
sample_invite['email_address'] = user['email_address']
|
||||
|
||||
mocker.patch('app.invite_api_client.check_token', return_value=sample_invite)
|
||||
|
||||
@@ -11,9 +11,9 @@ from app.main.views.jobs import get_status_filters, get_time_left
|
||||
from app.models.service import Service
|
||||
from tests.conftest import (
|
||||
SERVICE_ONE_ID,
|
||||
active_caseworking_user,
|
||||
active_user_view_permissions,
|
||||
active_user_with_permissions,
|
||||
create_active_caseworking_user,
|
||||
create_active_user_view_permissions,
|
||||
create_active_user_with_permissions,
|
||||
mock_get_api_keys,
|
||||
mock_get_no_api_keys,
|
||||
mock_get_notifications,
|
||||
@@ -24,21 +24,21 @@ from tests.conftest import (
|
||||
@pytest.mark.parametrize(
|
||||
"user,extra_args,expected_update_endpoint,expected_limit_days,page_title", [
|
||||
(
|
||||
active_user_view_permissions,
|
||||
create_active_user_view_permissions(),
|
||||
{'message_type': 'email'},
|
||||
'/email.json',
|
||||
7,
|
||||
'Emails',
|
||||
),
|
||||
(
|
||||
active_user_view_permissions,
|
||||
create_active_user_view_permissions(),
|
||||
{'message_type': 'sms'},
|
||||
'/sms.json',
|
||||
7,
|
||||
'Text messages',
|
||||
),
|
||||
(
|
||||
active_caseworking_user,
|
||||
create_active_caseworking_user(),
|
||||
{},
|
||||
'.json',
|
||||
None,
|
||||
@@ -109,9 +109,8 @@ def test_can_show_notifications(
|
||||
to_argument,
|
||||
expected_to_argument,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
if expected_to_argument:
|
||||
page = client_request.post(
|
||||
'main.view_notifications',
|
||||
@@ -191,7 +190,7 @@ def test_can_show_notifications_if_data_retention_not_available(
|
||||
|
||||
@pytest.mark.parametrize('user, query_parameters, expected_download_link', [
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
{},
|
||||
partial(
|
||||
url_for,
|
||||
@@ -200,7 +199,7 @@ def test_can_show_notifications_if_data_retention_not_available(
|
||||
),
|
||||
),
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
{'status': 'failed'},
|
||||
partial(
|
||||
url_for,
|
||||
@@ -209,7 +208,7 @@ def test_can_show_notifications_if_data_retention_not_available(
|
||||
),
|
||||
),
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
{'message_type': 'sms'},
|
||||
partial(
|
||||
url_for,
|
||||
@@ -218,7 +217,7 @@ def test_can_show_notifications_if_data_retention_not_available(
|
||||
),
|
||||
),
|
||||
(
|
||||
active_user_view_permissions,
|
||||
create_active_user_view_permissions(),
|
||||
{},
|
||||
partial(
|
||||
url_for,
|
||||
@@ -226,14 +225,13 @@ def test_can_show_notifications_if_data_retention_not_available(
|
||||
),
|
||||
),
|
||||
(
|
||||
active_caseworking_user,
|
||||
create_active_caseworking_user(),
|
||||
{},
|
||||
lambda service_id: None,
|
||||
),
|
||||
])
|
||||
def test_link_to_download_notifications(
|
||||
client_request,
|
||||
fake_uuid,
|
||||
mock_get_notifications,
|
||||
mock_get_service_statistics,
|
||||
mock_get_service_data_retention,
|
||||
@@ -243,7 +241,7 @@ def test_link_to_download_notifications(
|
||||
query_parameters,
|
||||
expected_download_link,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
page = client_request.get(
|
||||
'main.view_notifications',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
|
||||
@@ -25,8 +25,8 @@ from tests import (
|
||||
from tests.conftest import (
|
||||
ORGANISATION_ID,
|
||||
SERVICE_ONE_ID,
|
||||
active_caseworking_user,
|
||||
active_user_view_permissions,
|
||||
create_active_caseworking_user,
|
||||
create_active_user_view_permissions,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_inbound_sms_summary_with_no_messages,
|
||||
normalize_spaces,
|
||||
@@ -101,16 +101,15 @@ stub_template_stats = [
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
active_user_view_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_view_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
))
|
||||
def test_redirect_from_old_dashboard(
|
||||
logged_in_client,
|
||||
user,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
):
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user(fake_uuid))
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user)
|
||||
expected_location = 'http://localhost/services/{}'.format(SERVICE_ONE_ID)
|
||||
|
||||
response = logged_in_client.get('/services/{}/dashboard'.format(SERVICE_ONE_ID))
|
||||
|
||||
@@ -7,11 +7,7 @@ from flask import url_for
|
||||
from notifications_python_client.errors import HTTPError
|
||||
|
||||
from app.s3_client.s3_logo_client import EMAIL_LOGO_LOCATION_STRUCTURE, TEMP_TAG
|
||||
from tests.conftest import (
|
||||
mock_get_email_branding,
|
||||
normalize_spaces,
|
||||
platform_admin_user,
|
||||
)
|
||||
from tests.conftest import mock_get_email_branding, normalize_spaces
|
||||
|
||||
|
||||
def test_email_branding_page_shows_full_branding_list(
|
||||
@@ -124,8 +120,8 @@ def test_create_new_email_branding_without_logo(
|
||||
def test_create_email_branding_requires_a_name_when_submitting_logo_details(
|
||||
client_request,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
mock_create_email_branding,
|
||||
platform_admin_user,
|
||||
):
|
||||
mocker.patch('app.main.views.email_branding.persist_logo')
|
||||
mocker.patch('app.main.views.email_branding.delete_email_temp_files_created_by')
|
||||
@@ -137,7 +133,7 @@ def test_create_email_branding_requires_a_name_when_submitting_logo_details(
|
||||
'name': '',
|
||||
'brand_type': 'org',
|
||||
}
|
||||
client_request.login(platform_admin_user(fake_uuid))
|
||||
client_request.login(platform_admin_user)
|
||||
page = client_request.post(
|
||||
'.create_email_branding',
|
||||
content_type='multipart/form-data',
|
||||
@@ -152,7 +148,7 @@ def test_create_email_branding_requires_a_name_when_submitting_logo_details(
|
||||
def test_create_email_branding_does_not_require_a_name_when_uploading_a_file(
|
||||
client_request,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
platform_admin_user,
|
||||
):
|
||||
mocker.patch('app.main.views.email_branding.upload_email_logo', return_value='temp_filename')
|
||||
data = {
|
||||
@@ -162,7 +158,7 @@ def test_create_email_branding_does_not_require_a_name_when_uploading_a_file(
|
||||
'name': '',
|
||||
'brand_type': 'org',
|
||||
}
|
||||
client_request.login(platform_admin_user(fake_uuid))
|
||||
client_request.login(platform_admin_user)
|
||||
page = client_request.post(
|
||||
'.create_email_branding',
|
||||
content_type='multipart/form-data',
|
||||
|
||||
@@ -9,8 +9,8 @@ from app.main.views.jobs import get_time_left
|
||||
from tests import job_json, notification_json, sample_uuid
|
||||
from tests.conftest import (
|
||||
SERVICE_ONE_ID,
|
||||
active_caseworking_user,
|
||||
active_user_with_permissions,
|
||||
create_active_caseworking_user,
|
||||
create_active_user_with_permissions,
|
||||
mock_get_notifications,
|
||||
mock_get_service_letter_template,
|
||||
normalize_spaces,
|
||||
@@ -18,7 +18,7 @@ from tests.conftest import (
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user, expected_rows', [
|
||||
(active_user_with_permissions, (
|
||||
(create_active_user_with_permissions(), (
|
||||
(
|
||||
'File Sending Delivered Failed'
|
||||
),
|
||||
@@ -39,7 +39,7 @@ from tests.conftest import (
|
||||
'Sent today at 12:12pm 1 0 0'
|
||||
),
|
||||
)),
|
||||
(active_caseworking_user, (
|
||||
(create_active_caseworking_user(), (
|
||||
(
|
||||
'File Messages to be sent'
|
||||
),
|
||||
@@ -78,11 +78,10 @@ def test_jobs_page_shows_scheduled_jobs_if_user_doesnt_have_dashboard(
|
||||
service_one,
|
||||
active_user_with_permissions,
|
||||
mock_get_jobs,
|
||||
fake_uuid,
|
||||
user,
|
||||
expected_rows,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
page = client_request.get('main.view_jobs', service_id=service_one['id'])
|
||||
|
||||
for index, row in enumerate(expected_rows):
|
||||
@@ -90,17 +89,16 @@ def test_jobs_page_shows_scheduled_jobs_if_user_doesnt_have_dashboard(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', [
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
])
|
||||
def test_get_jobs_shows_page_links(
|
||||
client_request,
|
||||
active_user_with_permissions,
|
||||
mock_get_jobs,
|
||||
user,
|
||||
fake_uuid,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
page = client_request.get('main.view_jobs', service_id=SERVICE_ONE_ID)
|
||||
|
||||
assert 'Next page' in page.find('li', {'class': 'next-page'}).text
|
||||
@@ -108,8 +106,8 @@ def test_get_jobs_shows_page_links(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', [
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
])
|
||||
@freeze_time("2012-12-12 12:12")
|
||||
def test_jobs_page_doesnt_show_scheduled_on_page_2(
|
||||
@@ -117,10 +115,9 @@ def test_jobs_page_doesnt_show_scheduled_on_page_2(
|
||||
service_one,
|
||||
active_user_with_permissions,
|
||||
mock_get_jobs,
|
||||
fake_uuid,
|
||||
user,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
page = client_request.get('main.view_jobs', service_id=service_one['id'], page=2)
|
||||
|
||||
for index, row in enumerate((
|
||||
@@ -148,8 +145,8 @@ def test_jobs_page_doesnt_show_scheduled_on_page_2(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', [
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
])
|
||||
@pytest.mark.parametrize(
|
||||
"status_argument, expected_api_call", [
|
||||
@@ -182,7 +179,6 @@ def test_jobs_page_doesnt_show_scheduled_on_page_2(
|
||||
@freeze_time("2016-01-01 11:09:00.061258")
|
||||
def test_should_show_page_for_one_job(
|
||||
client_request,
|
||||
active_user_with_permissions,
|
||||
mock_get_service_template,
|
||||
mock_get_job,
|
||||
mocker,
|
||||
|
||||
@@ -9,21 +9,18 @@ from app.utils import is_gov_user
|
||||
from tests.conftest import (
|
||||
SERVICE_ONE_ID,
|
||||
USER_ONE_ID,
|
||||
active_caseworking_user,
|
||||
active_user_empty_permissions,
|
||||
active_user_manage_template_permission,
|
||||
active_user_no_mobile,
|
||||
active_user_view_permissions,
|
||||
active_user_with_permissions,
|
||||
create_active_user_empty_permissions,
|
||||
create_active_user_manage_template_permissions,
|
||||
create_active_user_view_permissions,
|
||||
create_active_user_with_permissions,
|
||||
normalize_spaces,
|
||||
platform_admin_user,
|
||||
sample_uuid,
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user, expected_self_text, expected_coworker_text', [
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
(
|
||||
'Test User (you) '
|
||||
'Can See dashboard '
|
||||
@@ -43,7 +40,7 @@ from tests.conftest import (
|
||||
)
|
||||
),
|
||||
(
|
||||
active_user_empty_permissions,
|
||||
create_active_user_empty_permissions(),
|
||||
(
|
||||
'Test User With Empty Permissions (you) '
|
||||
'Cannot See dashboard '
|
||||
@@ -62,7 +59,7 @@ from tests.conftest import (
|
||||
),
|
||||
),
|
||||
(
|
||||
active_user_view_permissions,
|
||||
create_active_user_view_permissions(),
|
||||
(
|
||||
'Test User With Permissions (you) '
|
||||
'Can See dashboard '
|
||||
@@ -81,7 +78,7 @@ from tests.conftest import (
|
||||
)
|
||||
),
|
||||
(
|
||||
active_user_manage_template_permission,
|
||||
create_active_user_manage_template_permissions(),
|
||||
(
|
||||
'Test User With Permissions (you) '
|
||||
'Can See dashboard '
|
||||
@@ -100,7 +97,7 @@ from tests.conftest import (
|
||||
)
|
||||
),
|
||||
(
|
||||
active_user_manage_template_permission,
|
||||
create_active_user_manage_template_permissions(),
|
||||
(
|
||||
'Test User With Permissions (you) '
|
||||
'Can See dashboard '
|
||||
@@ -125,14 +122,13 @@ def test_should_show_overview_page(
|
||||
mock_get_invites_for_service,
|
||||
mock_get_template_folders,
|
||||
mock_has_no_jobs,
|
||||
fake_uuid,
|
||||
service_one,
|
||||
user,
|
||||
expected_self_text,
|
||||
expected_coworker_text,
|
||||
active_user_view_permissions,
|
||||
):
|
||||
current_user = user(fake_uuid)
|
||||
current_user = user
|
||||
other_user = copy.deepcopy(active_user_view_permissions)
|
||||
other_user['email_address'] = 'zzzzzzz@example.gov.uk'
|
||||
other_user['name'] = 'ZZZZZZZZ'
|
||||
@@ -158,12 +154,15 @@ def test_should_show_caseworker_on_overview_page(
|
||||
mocker,
|
||||
mock_get_invites_for_service,
|
||||
mock_get_template_folders,
|
||||
fake_uuid,
|
||||
service_one,
|
||||
active_user_view_permissions,
|
||||
active_caseworking_user,
|
||||
):
|
||||
service_one['permissions'].append('caseworking')
|
||||
current_user = active_user_view_permissions(fake_uuid)
|
||||
other_user = active_caseworking_user(uuid.uuid4())
|
||||
current_user = active_user_view_permissions
|
||||
|
||||
other_user = active_caseworking_user
|
||||
other_user['id'] = uuid.uuid4()
|
||||
other_user['email_address'] = 'zzzzzzz@example.gov.uk'
|
||||
|
||||
mocker.patch('app.user_api_client.get_user', return_value=current_user)
|
||||
@@ -286,10 +285,10 @@ def test_manage_users_page_shows_member_auth_type_if_service_has_email_auth_acti
|
||||
assert bool(page.select_one('.tick-cross-list-hint')) == displays_auth_type
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user, sms_option_disabled, expected_label', [
|
||||
@pytest.mark.parametrize('sms_option_disabled, mobile_number, expected_label', [
|
||||
(
|
||||
active_user_no_mobile,
|
||||
True,
|
||||
None,
|
||||
"""
|
||||
Text message code
|
||||
Not available because this team member has not added a
|
||||
@@ -297,8 +296,8 @@ def test_manage_users_page_shows_member_auth_type_if_service_has_email_auth_acti
|
||||
""",
|
||||
),
|
||||
(
|
||||
active_user_with_permissions,
|
||||
False,
|
||||
'07700 900762',
|
||||
"""
|
||||
Text message code
|
||||
""",
|
||||
@@ -308,15 +307,17 @@ def test_user_with_no_mobile_number_cant_be_set_to_sms_auth(
|
||||
client_request,
|
||||
mock_get_users_by_service,
|
||||
mock_get_template_folders,
|
||||
user,
|
||||
sms_option_disabled,
|
||||
mobile_number,
|
||||
expected_label,
|
||||
service_one,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
active_user_with_permissions,
|
||||
):
|
||||
active_user_with_permissions['mobile_number'] = mobile_number
|
||||
|
||||
service_one['permissions'].append('email_auth')
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user(fake_uuid))
|
||||
mocker.patch('app.user_api_client.get_user', return_value=active_user_with_permissions)
|
||||
|
||||
page = client_request.get(
|
||||
'main.edit_user_permissions',
|
||||
@@ -533,11 +534,11 @@ def test_cant_edit_user_folder_permissions_for_platform_admin_users(
|
||||
mock_get_invites_for_service,
|
||||
mock_set_user_permissions,
|
||||
mock_get_template_folders,
|
||||
fake_uuid,
|
||||
platform_admin_user,
|
||||
):
|
||||
service_one['permissions'] = ['edit_folder_permissions']
|
||||
mocker.patch(
|
||||
'app.user_api_client.get_user', return_value=platform_admin_user(fake_uuid)
|
||||
'app.user_api_client.get_user', return_value=platform_admin_user
|
||||
)
|
||||
mock_get_template_folders.return_value = [
|
||||
{'id': 'folder-id-1', 'name': 'folder_one', 'parent_id': None, 'users_with_permission': []},
|
||||
@@ -547,7 +548,7 @@ def test_cant_edit_user_folder_permissions_for_platform_admin_users(
|
||||
page = client_request.get(
|
||||
'main.edit_user_permissions',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
user_id=fake_uuid,
|
||||
user_id=platform_admin_user['id'],
|
||||
)
|
||||
assert normalize_spaces(page.select('main p')[0].text) == 'platform@admin.gov.uk Change'
|
||||
assert normalize_spaces(page.select('main p')[2].text) == (
|
||||
@@ -557,7 +558,7 @@ def test_cant_edit_user_folder_permissions_for_platform_admin_users(
|
||||
client_request.post(
|
||||
'main.edit_user_permissions',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
user_id=fake_uuid,
|
||||
user_id=platform_admin_user['id'],
|
||||
_data={},
|
||||
_expected_status=302,
|
||||
_expected_redirect=url_for(
|
||||
@@ -567,7 +568,7 @@ def test_cant_edit_user_folder_permissions_for_platform_admin_users(
|
||||
),
|
||||
)
|
||||
mock_set_user_permissions.assert_called_with(
|
||||
fake_uuid,
|
||||
platform_admin_user['id'],
|
||||
SERVICE_ONE_ID,
|
||||
permissions={
|
||||
'manage_api_keys', 'manage_service', 'manage_templates', 'send_messages', 'view_activity',
|
||||
|
||||
@@ -11,8 +11,8 @@ from PyPDF2.utils import PdfReadError
|
||||
|
||||
from tests.conftest import (
|
||||
SERVICE_ONE_ID,
|
||||
active_caseworking_user,
|
||||
active_user_with_permissions,
|
||||
create_active_caseworking_user,
|
||||
create_active_user_with_permissions,
|
||||
mock_get_notification,
|
||||
normalize_spaces,
|
||||
)
|
||||
@@ -33,8 +33,8 @@ from tests.conftest import (
|
||||
('test', 'permanent-failure', 'Phone number does not exist (test)'),
|
||||
])
|
||||
@pytest.mark.parametrize('user', [
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
])
|
||||
@freeze_time("2016-01-01 11:09:00.061258")
|
||||
def test_notification_status_page_shows_details(
|
||||
@@ -49,7 +49,7 @@ def test_notification_status_page_shows_details(
|
||||
expected_status,
|
||||
):
|
||||
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user(fake_uuid))
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user)
|
||||
|
||||
_mock_get_notification = mock_get_notification(
|
||||
mocker,
|
||||
|
||||
@@ -32,8 +32,8 @@ from tests import (
|
||||
)
|
||||
from tests.conftest import (
|
||||
SERVICE_ONE_ID,
|
||||
active_caseworking_user,
|
||||
active_user_with_permissions,
|
||||
create_active_caseworking_user,
|
||||
create_active_user_with_permissions,
|
||||
mock_get_international_service,
|
||||
mock_get_live_service,
|
||||
mock_get_service,
|
||||
@@ -954,8 +954,8 @@ def test_404_for_previewing_a_row_out_of_range(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
))
|
||||
def test_send_test_doesnt_show_file_contents(
|
||||
client_request,
|
||||
@@ -969,7 +969,7 @@ def test_send_test_doesnt_show_file_contents(
|
||||
fake_uuid,
|
||||
user,
|
||||
):
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user(fake_uuid))
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user)
|
||||
mocker.patch('app.main.views.send.s3download', return_value="""
|
||||
phone number
|
||||
07700 900 986
|
||||
@@ -990,43 +990,43 @@ def test_send_test_doesnt_show_file_contents(
|
||||
|
||||
@pytest.mark.parametrize('user, endpoint, template_mock, expected_recipient', [
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
'main.send_test_step',
|
||||
mock_get_service_template_with_placeholders,
|
||||
'07700 900762'
|
||||
),
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
'main.send_test_step',
|
||||
mock_get_service_email_template,
|
||||
'test@user.gov.uk'
|
||||
),
|
||||
(
|
||||
active_caseworking_user,
|
||||
create_active_caseworking_user(),
|
||||
'main.send_test_step',
|
||||
mock_get_service_email_template,
|
||||
'caseworker@example.gov.uk'
|
||||
),
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
'main.send_test_step',
|
||||
mock_get_service_letter_template,
|
||||
None
|
||||
),
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
'main.send_one_off_step',
|
||||
mock_get_service_template,
|
||||
None
|
||||
),
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
'main.send_one_off_step',
|
||||
mock_get_service_email_template,
|
||||
None
|
||||
),
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
'main.send_one_off_step',
|
||||
mock_get_service_letter_template,
|
||||
None
|
||||
@@ -1044,7 +1044,7 @@ def test_send_test_step_redirects_if_session_not_setup(
|
||||
expected_recipient,
|
||||
user,
|
||||
):
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user(fake_uuid))
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user)
|
||||
template_mock(mocker)
|
||||
mocker.patch('app.main.views.send.get_page_count_for_letter', return_value=9)
|
||||
|
||||
@@ -1090,8 +1090,8 @@ def test_send_one_off_does_not_send_without_the_correct_permissions(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
))
|
||||
@pytest.mark.parametrize('template_mock, partial_url, expected_h1, tour_shown', [
|
||||
(
|
||||
@@ -1155,7 +1155,7 @@ def test_send_one_off_or_test_has_correct_page_titles(
|
||||
tour_shown,
|
||||
user,
|
||||
):
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user(fake_uuid))
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user)
|
||||
template_mock(mocker)
|
||||
mocker.patch('app.main.views.send.get_page_count_for_letter', return_value=9)
|
||||
|
||||
@@ -1230,24 +1230,24 @@ def test_send_one_off_or_test_shows_placeholders_in_correct_order(
|
||||
|
||||
@pytest.mark.parametrize('user, template_mock, expected_link_text, expected_link_url', [
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
mock_get_service_template,
|
||||
'Use my phone number',
|
||||
partial(url_for, 'main.send_test')
|
||||
),
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
mock_get_service_email_template,
|
||||
'Use my email address',
|
||||
partial(url_for, 'main.send_test')
|
||||
),
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
mock_get_service_letter_template,
|
||||
None, None
|
||||
),
|
||||
(
|
||||
active_caseworking_user,
|
||||
create_active_caseworking_user(),
|
||||
mock_get_service_template,
|
||||
None, None
|
||||
),
|
||||
@@ -1264,7 +1264,7 @@ def test_send_one_off_has_skip_link(
|
||||
expected_link_url,
|
||||
user,
|
||||
):
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user(fake_uuid))
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user)
|
||||
template_mock(mocker)
|
||||
mocker.patch('app.main.views.send.get_page_count_for_letter', return_value=9)
|
||||
|
||||
@@ -1316,8 +1316,8 @@ def test_send_one_off_has_sticky_header_for_email_and_letter(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
))
|
||||
def test_skip_link_will_not_show_on_sms_one_off_if_service_has_no_mobile_number(
|
||||
client_request,
|
||||
@@ -1328,7 +1328,6 @@ def test_skip_link_will_not_show_on_sms_one_off_if_service_has_no_mobile_number(
|
||||
mocker,
|
||||
user,
|
||||
):
|
||||
user = user(fake_uuid)
|
||||
user['mobile_number'] = None
|
||||
client_request.login(user)
|
||||
page = client_request.get(
|
||||
@@ -1343,8 +1342,8 @@ def test_skip_link_will_not_show_on_sms_one_off_if_service_has_no_mobile_number(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user, link_index', (
|
||||
(active_user_with_permissions, 2),
|
||||
(active_caseworking_user, 1),
|
||||
(create_active_user_with_permissions(), 2),
|
||||
(create_active_caseworking_user(), 1),
|
||||
))
|
||||
def test_send_one_off_offers_link_to_upload(
|
||||
client_request,
|
||||
@@ -1354,7 +1353,7 @@ def test_send_one_off_offers_link_to_upload(
|
||||
user,
|
||||
link_index,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
|
||||
page = client_request.get(
|
||||
'main.send_one_off',
|
||||
@@ -1377,8 +1376,8 @@ def test_send_one_off_offers_link_to_upload(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
))
|
||||
def test_link_to_upload_not_offered_in_tour(
|
||||
client_request,
|
||||
@@ -1386,7 +1385,7 @@ def test_link_to_upload_not_offered_in_tour(
|
||||
mock_get_service_template,
|
||||
user,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
|
||||
page = client_request.get(
|
||||
'main.send_test',
|
||||
@@ -1403,8 +1402,8 @@ def test_link_to_upload_not_offered_in_tour(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
))
|
||||
@pytest.mark.parametrize('endpoint, step_index', (
|
||||
('main.send_one_off_step', 1),
|
||||
@@ -1419,7 +1418,7 @@ def test_link_to_upload_not_offered_when_entering_personalisation(
|
||||
endpoint,
|
||||
step_index,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
|
||||
with client_request.session_transaction() as session:
|
||||
session['recipient'] = '07900900900'
|
||||
@@ -1441,8 +1440,8 @@ def test_link_to_upload_not_offered_when_entering_personalisation(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
))
|
||||
@pytest.mark.parametrize('endpoint, expected_redirect, placeholders', [
|
||||
(
|
||||
@@ -1466,7 +1465,7 @@ def test_send_test_redirects_to_end_if_step_out_of_bounds(
|
||||
mocker,
|
||||
user,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
|
||||
with client_request.session_transaction() as session:
|
||||
session['placeholders'] = placeholders
|
||||
@@ -1487,8 +1486,8 @@ def test_send_test_redirects_to_end_if_step_out_of_bounds(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
))
|
||||
@pytest.mark.parametrize('endpoint, expected_redirect', [
|
||||
('main.send_test_step', 'main.send_test'),
|
||||
@@ -1508,7 +1507,7 @@ def test_send_test_redirects_to_start_if_you_skip_steps(
|
||||
expected_redirect,
|
||||
user,
|
||||
):
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user(fake_uuid))
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user)
|
||||
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
session['send_test_letter_page_count'] = 1
|
||||
@@ -1530,8 +1529,8 @@ def test_send_test_redirects_to_start_if_you_skip_steps(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
))
|
||||
@pytest.mark.parametrize('endpoint, expected_redirect', [
|
||||
('main.send_test_step', 'main.send_test'),
|
||||
@@ -1551,7 +1550,7 @@ def test_send_test_redirects_to_start_if_index_out_of_bounds_and_some_placeholde
|
||||
mocker,
|
||||
user,
|
||||
):
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user(fake_uuid))
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user)
|
||||
with client_request.session_transaction() as session:
|
||||
session['placeholders'] = {'name': 'foo'}
|
||||
|
||||
@@ -1571,8 +1570,8 @@ def test_send_test_redirects_to_start_if_index_out_of_bounds_and_some_placeholde
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
))
|
||||
@pytest.mark.parametrize('endpoint, expected_redirect', [
|
||||
('main.send_test', 'main.send_test_step'),
|
||||
@@ -1587,7 +1586,7 @@ def test_send_test_sms_message_redirects_with_help_argument(
|
||||
expected_redirect,
|
||||
user,
|
||||
):
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user(fake_uuid))
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user)
|
||||
template = {'data': {'template_type': 'sms', 'folder': None}}
|
||||
mocker.patch('app.service_api_client.get_service_template', return_value=template)
|
||||
|
||||
@@ -1609,8 +1608,8 @@ def test_send_test_sms_message_redirects_with_help_argument(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
active_user_with_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_with_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
))
|
||||
def test_send_test_email_message_without_placeholders_redirects_to_check_page(
|
||||
client_request,
|
||||
@@ -1624,7 +1623,7 @@ def test_send_test_email_message_without_placeholders_redirects_to_check_page(
|
||||
fake_uuid,
|
||||
user,
|
||||
):
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user(fake_uuid))
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user)
|
||||
|
||||
with client_request.session_transaction() as session:
|
||||
session['recipient'] = 'foo@bar.com'
|
||||
|
||||
@@ -21,9 +21,10 @@ from tests.conftest import (
|
||||
ORGANISATION_ID,
|
||||
SERVICE_ONE_ID,
|
||||
TEMPLATE_ONE_ID,
|
||||
active_user_no_api_key_permission,
|
||||
active_user_no_settings_permission,
|
||||
active_user_with_permissions,
|
||||
create_active_user_no_api_key_permission,
|
||||
create_active_user_no_settings_permission,
|
||||
create_active_user_with_permissions,
|
||||
create_platform_admin_user,
|
||||
get_default_letter_contact_block,
|
||||
get_default_reply_to_email_address,
|
||||
get_default_sms_sender,
|
||||
@@ -39,7 +40,6 @@ from tests.conftest import (
|
||||
no_reply_to_email_addresses,
|
||||
no_sms_senders,
|
||||
normalize_spaces,
|
||||
platform_admin_user,
|
||||
sample_invite,
|
||||
)
|
||||
|
||||
@@ -57,7 +57,7 @@ def mock_get_service_settings_page_common(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user, expected_rows', [
|
||||
(active_user_with_permissions, [
|
||||
(create_active_user_with_permissions(), [
|
||||
|
||||
'Label Value Action',
|
||||
'Service name Test Service Change',
|
||||
@@ -79,7 +79,7 @@ def mock_get_service_settings_page_common(
|
||||
'Send letters Off Change',
|
||||
|
||||
]),
|
||||
(platform_admin_user, [
|
||||
(create_platform_admin_user(), [
|
||||
|
||||
'Label Value Action',
|
||||
'Service name Test Service Change',
|
||||
@@ -117,7 +117,6 @@ def test_should_show_overview(
|
||||
client,
|
||||
mocker,
|
||||
api_user_active,
|
||||
fake_uuid,
|
||||
no_reply_to_email_addresses,
|
||||
no_letter_contact_blocks,
|
||||
mock_get_service_organisation,
|
||||
@@ -132,7 +131,7 @@ def test_should_show_overview(
|
||||
organisation_id=ORGANISATION_ID)
|
||||
mocker.patch('app.service_api_client.get_service', return_value={'data': service_one})
|
||||
|
||||
client.login(user(fake_uuid), mocker, service_one)
|
||||
client.login(user, mocker, service_one)
|
||||
response = client.get(url_for(
|
||||
'main.service_settings', service_id=SERVICE_ONE_ID
|
||||
))
|
||||
@@ -415,19 +414,18 @@ def test_service_name_change_fails_if_new_name_has_less_than_2_alphanumeric_char
|
||||
|
||||
@pytest.mark.parametrize('user, expected_text, expected_link', [
|
||||
(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
'To remove these restrictions, you can send us a request to go live.',
|
||||
True,
|
||||
),
|
||||
(
|
||||
active_user_no_settings_permission,
|
||||
create_active_user_no_settings_permission(),
|
||||
'Your service manager can ask to have these restrictions removed.',
|
||||
False,
|
||||
),
|
||||
])
|
||||
def test_show_restricted_service(
|
||||
client_request,
|
||||
fake_uuid,
|
||||
single_reply_to_email_address,
|
||||
single_letter_contact_block,
|
||||
mock_get_service_organisation,
|
||||
@@ -437,7 +435,7 @@ def test_show_restricted_service(
|
||||
expected_text,
|
||||
expected_link,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
page = client_request.get(
|
||||
'main.service_settings',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
@@ -763,6 +761,7 @@ def test_should_check_for_sending_things_right(
|
||||
reply_to_email_addresses,
|
||||
expected_reply_to_checklist_item,
|
||||
active_user_with_permissions,
|
||||
active_user_no_settings_permission
|
||||
):
|
||||
def _templates_by_type(template_type):
|
||||
return {
|
||||
@@ -774,7 +773,7 @@ def test_should_check_for_sending_things_right(
|
||||
'app.models.user.Users.client',
|
||||
return_value=(
|
||||
[active_user_with_permissions] * count_of_users_with_manage_service +
|
||||
[active_user_no_settings_permission(fake_uuid)]
|
||||
[active_user_no_settings_permission]
|
||||
)
|
||||
)
|
||||
mock_get_invites = mocker.patch(
|
||||
@@ -3789,9 +3788,9 @@ def test_service_switch_can_upload_document_lets_contact_details_be_added_and_sh
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
platform_admin_user,
|
||||
active_user_with_permissions,
|
||||
pytest.param(active_user_no_settings_permission, marks=pytest.mark.xfail),
|
||||
create_platform_admin_user(),
|
||||
create_active_user_with_permissions(),
|
||||
pytest.param(create_active_user_no_settings_permission(), marks=pytest.mark.xfail),
|
||||
))
|
||||
def test_archive_service_after_confirm(
|
||||
client_request,
|
||||
@@ -3800,10 +3799,9 @@ def test_archive_service_after_confirm(
|
||||
mock_get_service_and_organisation_counts,
|
||||
mock_get_organisations_and_services_for_user,
|
||||
user,
|
||||
fake_uuid,
|
||||
):
|
||||
mocked_fn = mocker.patch('app.service_api_client.post')
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
page = client_request.post(
|
||||
'main.archive_service',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
@@ -3818,9 +3816,9 @@ def test_archive_service_after_confirm(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', (
|
||||
platform_admin_user,
|
||||
active_user_with_permissions,
|
||||
pytest.param(active_user_no_settings_permission, marks=pytest.mark.xfail),
|
||||
create_platform_admin_user(),
|
||||
create_active_user_with_permissions(),
|
||||
pytest.param(create_active_user_no_settings_permission(), marks=pytest.mark.xfail),
|
||||
))
|
||||
def test_archive_service_prompts_user(
|
||||
client_request,
|
||||
@@ -3830,11 +3828,10 @@ def test_archive_service_prompts_user(
|
||||
mock_get_service_organisation,
|
||||
single_sms_sender,
|
||||
mock_get_service_settings_page_common,
|
||||
fake_uuid,
|
||||
user,
|
||||
):
|
||||
mocked_fn = mocker.patch('app.service_api_client.post')
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
|
||||
settings_page = client_request.get(
|
||||
'main.archive_service',
|
||||
@@ -4234,14 +4231,14 @@ def test_set_inbound_sms_when_inbound_number_is_not_set(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user, expected_paragraphs', [
|
||||
(active_user_with_permissions, [
|
||||
(create_active_user_with_permissions(), [
|
||||
'Your service can receive text messages sent to 07700900123.',
|
||||
'You can still send text messages from a sender name if you '
|
||||
'need to, but users will not be able to reply to those messages.',
|
||||
'Contact us if you want to switch this feature off.',
|
||||
'You can set up callbacks for received text messages on the API integration page.',
|
||||
]),
|
||||
(active_user_no_api_key_permission, [
|
||||
(create_active_user_no_api_key_permission(), [
|
||||
'Your service can receive text messages sent to 07700900123.',
|
||||
'You can still send text messages from a sender name if you '
|
||||
'need to, but users will not be able to reply to those messages.',
|
||||
@@ -4252,7 +4249,6 @@ def test_set_inbound_sms_when_inbound_number_is_set(
|
||||
client_request,
|
||||
service_one,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
user,
|
||||
expected_paragraphs,
|
||||
):
|
||||
@@ -4260,7 +4256,7 @@ def test_set_inbound_sms_when_inbound_number_is_set(
|
||||
mocker.patch('app.inbound_number_client.get_inbound_sms_number_for_service', return_value={
|
||||
'data': {'number': '07700900123'}
|
||||
})
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
page = client_request.get(
|
||||
'main.service_set_inbound_sms',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
|
||||
@@ -10,9 +10,9 @@ from tests.conftest import (
|
||||
SERVICE_ONE_ID,
|
||||
TEMPLATE_ONE_ID,
|
||||
_template,
|
||||
active_caseworking_user,
|
||||
active_user_view_permissions,
|
||||
active_user_with_permissions,
|
||||
create_active_caseworking_user,
|
||||
create_active_user_view_permissions,
|
||||
create_active_user_with_permissions,
|
||||
normalize_spaces,
|
||||
)
|
||||
|
||||
@@ -507,8 +507,9 @@ def test_get_manage_folder_viewing_permissions_for_users(
|
||||
mocker
|
||||
):
|
||||
folder_id = str(uuid.uuid4())
|
||||
team_member = active_user_view_permissions(str(uuid.uuid4()))
|
||||
team_member_2 = active_user_view_permissions(str(uuid.uuid4()))
|
||||
team_member = create_active_user_view_permissions(with_unique_id=True)
|
||||
team_member_2 = create_active_user_view_permissions(with_unique_id=True)
|
||||
|
||||
mock_get_template_folders.return_value = [
|
||||
_folder('folder_two', folder_id, None, [active_user_with_permissions['id'], team_member_2['id']]),
|
||||
]
|
||||
@@ -556,8 +557,8 @@ def test_get_manage_folder_viewing_permissions_for_users_not_visible_when_no_man
|
||||
'view_activity',
|
||||
]
|
||||
folder_id = str(uuid.uuid4())
|
||||
team_member = active_user_view_permissions(str(uuid.uuid4()))
|
||||
team_member_2 = active_user_view_permissions(str(uuid.uuid4()))
|
||||
team_member = create_active_user_view_permissions(with_unique_id=True)
|
||||
team_member_2 = create_active_user_view_permissions(with_unique_id=True)
|
||||
service_one["permissions"] += ["edit_folder_permissions"]
|
||||
mock_get_template_folders.return_value = [
|
||||
{'id': folder_id, 'name': 'folder_two', 'parent_id': None, 'users_with_permission': [
|
||||
@@ -737,7 +738,7 @@ def test_rename_folder(client_request, active_user_with_permissions, service_one
|
||||
def test_manage_folder_users(
|
||||
client_request, active_user_with_permissions, service_one, mock_get_template_folders, mocker
|
||||
):
|
||||
team_member = active_user_view_permissions(str(uuid.uuid4()))
|
||||
team_member = create_active_user_view_permissions(with_unique_id=True)
|
||||
mock_update = mocker.patch('app.template_folder_api_client.update_template_folder')
|
||||
folder_id = str(uuid.uuid4())
|
||||
mock_get_template_folders.return_value = [
|
||||
@@ -778,7 +779,7 @@ def test_manage_folder_users_doesnt_change_permissions_current_user_cannot_manag
|
||||
'manage_api_keys',
|
||||
'view_activity',
|
||||
]
|
||||
team_member = active_user_view_permissions(str(uuid.uuid4()))
|
||||
team_member = create_active_user_view_permissions(with_unique_id=True)
|
||||
mock_update = mocker.patch('app.template_folder_api_client.update_template_folder')
|
||||
folder_id = str(uuid.uuid4())
|
||||
mock_get_template_folders.return_value = [
|
||||
@@ -907,14 +908,14 @@ def test_delete_folder(client_request, service_one, mock_get_template_folders, m
|
||||
|
||||
@pytest.mark.parametrize('user', [
|
||||
pytest.param(
|
||||
active_user_with_permissions
|
||||
create_active_user_with_permissions()
|
||||
),
|
||||
pytest.param(
|
||||
active_user_view_permissions,
|
||||
create_active_user_view_permissions(),
|
||||
marks=pytest.mark.xfail(raises=AssertionError)
|
||||
),
|
||||
pytest.param(
|
||||
active_caseworking_user,
|
||||
create_active_caseworking_user(),
|
||||
marks=pytest.mark.xfail(raises=AssertionError)
|
||||
),
|
||||
])
|
||||
@@ -925,10 +926,9 @@ def test_should_show_checkboxes_for_selecting_templates(
|
||||
mock_get_service_templates,
|
||||
mock_get_template_folders,
|
||||
mock_has_no_jobs,
|
||||
fake_uuid,
|
||||
user,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
|
||||
page = client_request.get(
|
||||
'main.choose_template',
|
||||
@@ -947,10 +947,10 @@ def test_should_show_checkboxes_for_selecting_templates(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user', [
|
||||
active_user_view_permissions,
|
||||
active_caseworking_user,
|
||||
create_active_user_view_permissions(),
|
||||
create_active_caseworking_user(),
|
||||
pytest.param(
|
||||
active_user_with_permissions,
|
||||
create_active_user_with_permissions(),
|
||||
marks=pytest.mark.xfail(raises=AssertionError),
|
||||
),
|
||||
])
|
||||
@@ -961,10 +961,9 @@ def test_should_not_show_radios_and_buttons_for_move_destination_if_incorrect_pe
|
||||
mock_get_service_templates,
|
||||
mock_get_template_folders,
|
||||
mock_has_no_jobs,
|
||||
fake_uuid,
|
||||
user,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
|
||||
page = client_request.get(
|
||||
'main.choose_template',
|
||||
@@ -1086,8 +1085,8 @@ def test_should_be_able_to_move_to_existing_folder(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user, expected_status, expected_called', [
|
||||
(active_user_view_permissions, 403, False),
|
||||
(active_user_with_permissions, 302, True),
|
||||
(create_active_user_view_permissions(), 403, False),
|
||||
(create_active_user_with_permissions(), 302, True),
|
||||
])
|
||||
def test_should_not_be_able_to_move_to_existing_folder_if_dont_have_permission(
|
||||
client_request,
|
||||
@@ -1100,7 +1099,7 @@ def test_should_not_be_able_to_move_to_existing_folder_if_dont_have_permission(
|
||||
expected_status,
|
||||
expected_called,
|
||||
):
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
FOLDER_TWO_ID = str(uuid.uuid4())
|
||||
mock_get_template_folders.return_value = [
|
||||
_folder('folder_one', PARENT_FOLDER_ID, None),
|
||||
|
||||
@@ -9,6 +9,7 @@ from notifications_python_client.errors import HTTPError
|
||||
|
||||
from app.main.views.templates import get_human_readable_delta
|
||||
from tests import (
|
||||
sample_uuid,
|
||||
single_notification_json,
|
||||
template_json,
|
||||
validate_route_permission,
|
||||
@@ -25,9 +26,8 @@ from tests.conftest import (
|
||||
SERVICE_TWO_ID,
|
||||
TEMPLATE_ONE_ID,
|
||||
ElementNotFound,
|
||||
active_caseworking_user,
|
||||
active_user_view_permissions,
|
||||
fake_uuid,
|
||||
create_active_caseworking_user,
|
||||
create_active_user_view_permissions,
|
||||
mock_get_service_email_template,
|
||||
mock_get_service_letter_template,
|
||||
mock_get_service_template,
|
||||
@@ -90,7 +90,7 @@ def test_should_show_add_template_form_if_service_has_folder_permission(
|
||||
'user, expected_page_title, extra_args, expected_nav_links, expected_templates',
|
||||
[
|
||||
(
|
||||
active_user_view_permissions,
|
||||
create_active_user_view_permissions(),
|
||||
'Templates',
|
||||
{},
|
||||
['Email', 'Text message', 'Letter'],
|
||||
@@ -104,28 +104,28 @@ def test_should_show_add_template_form_if_service_has_folder_permission(
|
||||
]
|
||||
),
|
||||
(
|
||||
active_user_view_permissions,
|
||||
create_active_user_view_permissions(),
|
||||
'Templates',
|
||||
{'template_type': 'sms'},
|
||||
['All', 'Email', 'Letter'],
|
||||
['sms_template_one', 'sms_template_two'],
|
||||
),
|
||||
(
|
||||
active_user_view_permissions,
|
||||
create_active_user_view_permissions(),
|
||||
'Templates',
|
||||
{'template_type': 'email'},
|
||||
['All', 'Text message', 'Letter'],
|
||||
['email_template_one', 'email_template_two'],
|
||||
),
|
||||
(
|
||||
active_user_view_permissions,
|
||||
create_active_user_view_permissions(),
|
||||
'Templates',
|
||||
{'template_type': 'letter'},
|
||||
['All', 'Email', 'Text message'],
|
||||
['letter_template_one', 'letter_template_two'],
|
||||
),
|
||||
(
|
||||
active_caseworking_user,
|
||||
create_active_caseworking_user(),
|
||||
'Templates',
|
||||
{},
|
||||
['Email', 'Text message', 'Letter'],
|
||||
@@ -139,7 +139,7 @@ def test_should_show_add_template_form_if_service_has_folder_permission(
|
||||
],
|
||||
),
|
||||
(
|
||||
active_caseworking_user,
|
||||
create_active_caseworking_user(),
|
||||
'Templates',
|
||||
{'template_type': 'email'},
|
||||
['All', 'Text message', 'Letter'],
|
||||
@@ -157,12 +157,11 @@ def test_should_show_page_for_choosing_a_template(
|
||||
expected_templates,
|
||||
service_one,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
user,
|
||||
expected_page_title,
|
||||
):
|
||||
service_one['permissions'].append('letter')
|
||||
client_request.login(user(fake_uuid))
|
||||
client_request.login(user)
|
||||
|
||||
page = client_request.get(
|
||||
'main.choose_template',
|
||||
@@ -358,9 +357,10 @@ def test_caseworker_redirected_to_one_off(
|
||||
mock_get_service_template,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
active_caseworking_user,
|
||||
):
|
||||
|
||||
mocker.patch('app.user_api_client.get_user', return_value=active_caseworking_user(fake_uuid))
|
||||
mocker.patch('app.user_api_client.get_user', return_value=active_caseworking_user)
|
||||
|
||||
client_request.get(
|
||||
'main.view_template',
|
||||
@@ -717,10 +717,10 @@ def test_should_show_sms_template_with_downgraded_unicode_characters(
|
||||
|
||||
@pytest.mark.parametrize('mock_contact_block, expected_partial_url', (
|
||||
(no_letter_contact_blocks, partial(
|
||||
url_for, 'main.service_add_letter_contact', from_template=fake_uuid(),
|
||||
url_for, 'main.service_add_letter_contact', from_template=sample_uuid(),
|
||||
)),
|
||||
(single_letter_contact_block, partial(
|
||||
url_for, 'main.set_template_sender', template_id=fake_uuid(),
|
||||
url_for, 'main.set_template_sender', template_id=sample_uuid(),
|
||||
)),
|
||||
))
|
||||
def test_should_let_letter_contact_block_be_changed_for_the_template(
|
||||
|
||||
@@ -5,8 +5,7 @@ import pytest
|
||||
from flask import url_for
|
||||
from notifications_utils.url_safe_token import generate_token
|
||||
|
||||
from tests.conftest import api_user_active as create_user
|
||||
from tests.conftest import url_for_endpoint_with_token
|
||||
from tests.conftest import create_api_user_active, url_for_endpoint_with_token
|
||||
|
||||
|
||||
def test_should_show_overview_page(
|
||||
@@ -200,11 +199,10 @@ def test_should_redirect_after_mobile_number_confirm(
|
||||
mocker,
|
||||
mock_update_user_attribute,
|
||||
mock_check_verify_code,
|
||||
fake_uuid,
|
||||
phone_number_to_register_with,
|
||||
):
|
||||
user_before = create_user(fake_uuid)
|
||||
user_after = create_user(fake_uuid)
|
||||
user_before = create_api_user_active(with_unique_id=True)
|
||||
user_after = create_api_user_active(with_unique_id=True)
|
||||
user_before['current_session_id'] = str(uuid.UUID(int=1))
|
||||
user_after['current_session_id'] = str(uuid.UUID(int=2))
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import uuid
|
||||
from datetime import date
|
||||
from unittest.mock import patch
|
||||
|
||||
@@ -9,7 +8,11 @@ from app.models.service import Service
|
||||
from app.notify_client import NotifyAdminAPIClient
|
||||
from app.notify_client.notification_api_client import notification_api_client
|
||||
from tests import service_json
|
||||
from tests.conftest import api_user_active, platform_admin_user, set_config
|
||||
from tests.conftest import (
|
||||
create_api_user_active,
|
||||
create_platform_admin_user,
|
||||
set_config,
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('method', [
|
||||
@@ -18,8 +21,8 @@ from tests.conftest import api_user_active, platform_admin_user, set_config
|
||||
'delete'
|
||||
])
|
||||
@pytest.mark.parametrize('user', [
|
||||
api_user_active(str(uuid.uuid4())),
|
||||
platform_admin_user(str(uuid.uuid4()))
|
||||
create_api_user_active(),
|
||||
create_platform_admin_user(),
|
||||
], ids=['api_user', 'platform_admin'])
|
||||
@pytest.mark.parametrize('service', [
|
||||
service_json(active=True),
|
||||
|
||||
@@ -5,7 +5,7 @@ import pytest
|
||||
|
||||
from app import invite_api_client, service_api_client, user_api_client
|
||||
from tests import sample_uuid
|
||||
from tests.conftest import SERVICE_ONE_ID, api_user_pending
|
||||
from tests.conftest import SERVICE_ONE_ID
|
||||
|
||||
user_id = sample_uuid()
|
||||
|
||||
@@ -193,7 +193,7 @@ def test_returns_value_from_cache(
|
||||
(user_api_client, 'add_user_to_service', [SERVICE_ONE_ID, user_id, [], []], {}),
|
||||
(user_api_client, 'add_user_to_organisation', [sample_uuid(), user_id], {}),
|
||||
(user_api_client, 'set_user_permissions', [user_id, SERVICE_ONE_ID, []], {}),
|
||||
(user_api_client, 'activate_user', [api_user_pending(sample_uuid())['id']], {}),
|
||||
(user_api_client, 'activate_user', [user_id], {}),
|
||||
(user_api_client, 'archive_user', [user_id], {}),
|
||||
(service_api_client, 'remove_user_from_service', [SERVICE_ONE_ID, user_id], {}),
|
||||
(service_api_client, 'create_service', ['', '', 0, False, user_id, sample_uuid()], {}),
|
||||
|
||||
@@ -8,12 +8,7 @@ from app.navigation import (
|
||||
MainNavigation,
|
||||
OrgNavigation,
|
||||
)
|
||||
from tests.conftest import (
|
||||
ORGANISATION_ID,
|
||||
SERVICE_ONE_ID,
|
||||
active_caseworking_user,
|
||||
normalize_spaces,
|
||||
)
|
||||
from tests.conftest import ORGANISATION_ID, SERVICE_ONE_ID, normalize_spaces
|
||||
|
||||
|
||||
def flask_app():
|
||||
@@ -181,14 +176,14 @@ def test_navigation_urls(
|
||||
def test_caseworkers_get_caseworking_navigation(
|
||||
client_request,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
mock_get_template_folders,
|
||||
mock_get_service_templates,
|
||||
mock_has_no_jobs,
|
||||
active_caseworking_user,
|
||||
):
|
||||
mocker.patch(
|
||||
'app.user_api_client.get_user',
|
||||
return_value=active_caseworking_user(fake_uuid)
|
||||
return_value=active_caseworking_user
|
||||
)
|
||||
page = client_request.get('main.choose_template', service_id=SERVICE_ONE_ID)
|
||||
assert normalize_spaces(page.select_one('header + .govuk-width-container nav').text) == (
|
||||
@@ -199,14 +194,14 @@ def test_caseworkers_get_caseworking_navigation(
|
||||
def test_caseworkers_see_jobs_nav_if_jobs_exist(
|
||||
client_request,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
mock_get_service_templates,
|
||||
mock_get_template_folders,
|
||||
mock_has_jobs,
|
||||
active_caseworking_user,
|
||||
):
|
||||
mocker.patch(
|
||||
'app.user_api_client.get_user',
|
||||
return_value=active_caseworking_user(fake_uuid)
|
||||
return_value=active_caseworking_user
|
||||
)
|
||||
page = client_request.get('main.choose_template', service_id=SERVICE_ONE_ID)
|
||||
assert normalize_spaces(page.select_one('header + .govuk-width-container nav').text) == (
|
||||
|
||||
@@ -3562,3 +3562,205 @@ def mock_get_service_history(mocker):
|
||||
],
|
||||
'events': [],
|
||||
})
|
||||
|
||||
|
||||
def create_api_user_active(with_unique_id=False):
|
||||
return {
|
||||
'id': str(uuid4()) if with_unique_id else sample_uuid(),
|
||||
'name': 'Test User',
|
||||
'password': 'somepassword',
|
||||
'email_address': 'test@user.gov.uk',
|
||||
'mobile_number': '07700 900762',
|
||||
'state': 'active',
|
||||
'failed_login_count': 0,
|
||||
'permissions': {},
|
||||
'platform_admin': False,
|
||||
'auth_type': 'sms_auth',
|
||||
'password_changed_at': str(datetime.utcnow()),
|
||||
'services': [],
|
||||
'organisations': [],
|
||||
'current_session_id': None,
|
||||
'logged_in_at': None,
|
||||
}
|
||||
|
||||
|
||||
def create_active_user_empty_permissions(with_unique_id=False):
|
||||
user_data = {'id': str(uuid4()) if with_unique_id else sample_uuid(),
|
||||
'name': 'Test User With Empty Permissions',
|
||||
'password': 'somepassword',
|
||||
'password_changed_at': str(datetime.utcnow()),
|
||||
'email_address': 'test@user.gov.uk',
|
||||
'mobile_number': '07700 900763',
|
||||
'state': 'active',
|
||||
'failed_login_count': 0,
|
||||
'permissions': {},
|
||||
'platform_admin': False,
|
||||
'auth_type': 'sms_auth',
|
||||
'organisations': [],
|
||||
'services': [SERVICE_ONE_ID],
|
||||
'current_session_id': None,
|
||||
}
|
||||
return user_data
|
||||
|
||||
|
||||
def create_active_user_with_permissions(with_unique_id=False):
|
||||
return {
|
||||
'id': str(uuid4()) if with_unique_id else sample_uuid(),
|
||||
'name': 'Test User',
|
||||
'password': 'somepassword',
|
||||
'password_changed_at': str(datetime.utcnow()),
|
||||
'email_address': 'test@user.gov.uk',
|
||||
'mobile_number': '07700 900762',
|
||||
'state': 'active',
|
||||
'failed_login_count': 0,
|
||||
'permissions': {SERVICE_ONE_ID: ['send_texts',
|
||||
'send_emails',
|
||||
'send_letters',
|
||||
'manage_users',
|
||||
'manage_templates',
|
||||
'manage_settings',
|
||||
'manage_api_keys',
|
||||
'view_activity']},
|
||||
'platform_admin': False,
|
||||
'auth_type': 'sms_auth',
|
||||
'organisations': [ORGANISATION_ID],
|
||||
'services': [SERVICE_ONE_ID],
|
||||
'current_session_id': None,
|
||||
}
|
||||
|
||||
|
||||
def create_active_user_view_permissions(with_unique_id=False):
|
||||
return {
|
||||
'id': str(uuid4()) if with_unique_id else sample_uuid(),
|
||||
'name': 'Test User With Permissions',
|
||||
'password': 'somepassword',
|
||||
'password_changed_at': str(datetime.utcnow()),
|
||||
'email_address': 'test@user.gov.uk',
|
||||
'mobile_number': '07700 900762',
|
||||
'state': 'active',
|
||||
'failed_login_count': 0,
|
||||
'permissions': {SERVICE_ONE_ID: ['view_activity']},
|
||||
'platform_admin': False,
|
||||
'auth_type': 'sms_auth',
|
||||
'organisations': [],
|
||||
'services': [SERVICE_ONE_ID],
|
||||
'current_session_id': None,
|
||||
}
|
||||
|
||||
|
||||
def create_active_caseworking_user(with_unique_id=False):
|
||||
return {
|
||||
'id': str(uuid4()) if with_unique_id else sample_uuid(),
|
||||
'name': 'Test User',
|
||||
'password': 'somepassword',
|
||||
'password_changed_at': str(datetime.utcnow()),
|
||||
'email_address': 'caseworker@example.gov.uk',
|
||||
'mobile_number': '07700 900762',
|
||||
'state': 'active',
|
||||
'failed_login_count': 0,
|
||||
'permissions': {SERVICE_ONE_ID: [
|
||||
'send_texts',
|
||||
'send_emails',
|
||||
'send_letters',
|
||||
]},
|
||||
'platform_admin': False,
|
||||
'auth_type': 'sms_auth',
|
||||
'organisations': [],
|
||||
'services': [SERVICE_ONE_ID],
|
||||
'current_session_id': None,
|
||||
}
|
||||
|
||||
|
||||
def create_active_user_no_api_key_permission(with_unique_id=False):
|
||||
return {
|
||||
'id': str(uuid4()) if with_unique_id else sample_uuid(),
|
||||
'name': 'Test User With Permissions',
|
||||
'password': 'somepassword',
|
||||
'password_changed_at': str(datetime.utcnow()),
|
||||
'email_address': 'test@user.gov.uk',
|
||||
'mobile_number': '07700 900762',
|
||||
'state': 'active',
|
||||
'failed_login_count': 0,
|
||||
'permissions': {SERVICE_ONE_ID: [
|
||||
'manage_templates',
|
||||
'manage_settings',
|
||||
'view_activity',
|
||||
]},
|
||||
'platform_admin': False,
|
||||
'auth_type': 'sms_auth',
|
||||
'organisations': [],
|
||||
'current_session_id': None,
|
||||
'services': [SERVICE_ONE_ID],
|
||||
}
|
||||
|
||||
|
||||
def create_active_user_no_settings_permission(with_unique_id=False):
|
||||
return {
|
||||
'id': str(uuid4()) if with_unique_id else sample_uuid(),
|
||||
'name': 'Test User With Permissions',
|
||||
'password': 'somepassword',
|
||||
'password_changed_at': str(datetime.utcnow()),
|
||||
'email_address': 'test@user.gov.uk',
|
||||
'mobile_number': '07700 900762',
|
||||
'state': 'active',
|
||||
'failed_login_count': 0,
|
||||
'permissions': {SERVICE_ONE_ID: [
|
||||
'manage_templates',
|
||||
'manage_api_keys',
|
||||
'view_activity',
|
||||
]},
|
||||
'platform_admin': False,
|
||||
'auth_type': 'sms_auth',
|
||||
'current_session_id': None,
|
||||
'services': [SERVICE_ONE_ID],
|
||||
'organisations': [],
|
||||
}
|
||||
|
||||
|
||||
def create_active_user_manage_template_permissions(with_unique_id=False):
|
||||
return {
|
||||
'id': str(uuid4()) if with_unique_id else sample_uuid(),
|
||||
'name': 'Test User With Permissions',
|
||||
'password': 'somepassword',
|
||||
'password_changed_at': str(datetime.utcnow()),
|
||||
'email_address': 'test@user.gov.uk',
|
||||
'mobile_number': '07700 900762',
|
||||
'state': 'active',
|
||||
'failed_login_count': 0,
|
||||
'permissions': {SERVICE_ONE_ID: [
|
||||
'manage_templates',
|
||||
'view_activity',
|
||||
]},
|
||||
'platform_admin': False,
|
||||
'auth_type': 'sms_auth',
|
||||
'organisations': [],
|
||||
'services': [SERVICE_ONE_ID],
|
||||
'current_session_id': None,
|
||||
}
|
||||
|
||||
|
||||
def create_platform_admin_user(with_unique_id=False):
|
||||
return {
|
||||
'id': str(uuid4()) if with_unique_id else sample_uuid(),
|
||||
'name': 'Platform admin user',
|
||||
'password': 'somepassword',
|
||||
'email_address': 'platform@admin.gov.uk',
|
||||
'mobile_number': '07700 900762',
|
||||
'state': 'active',
|
||||
'failed_login_count': 0,
|
||||
'permissions': {SERVICE_ONE_ID: ['send_texts',
|
||||
'send_emails',
|
||||
'send_letters',
|
||||
'manage_users',
|
||||
'manage_templates',
|
||||
'manage_settings',
|
||||
'manage_api_keys',
|
||||
'view_activity']},
|
||||
'platform_admin': True,
|
||||
'auth_type': 'sms_auth',
|
||||
'password_changed_at': str(datetime.utcnow()),
|
||||
'services': [],
|
||||
'organisations': [],
|
||||
'current_session_id': None,
|
||||
'logged_in_at': None,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user