mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-10 18:22:37 -04:00
Merge pull request #3101 from alphagov/billing-for-all-services-report
Usage for all services
This commit is contained in:
@@ -17,7 +17,7 @@ from tests.conftest import (
|
||||
|
||||
|
||||
def test_organisation_page_shows_all_organisations(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mocker
|
||||
):
|
||||
orgs = [
|
||||
@@ -29,7 +29,7 @@ def test_organisation_page_shows_all_organisations(
|
||||
get_organisations = mocker.patch(
|
||||
'app.models.organisation.Organisations.client', return_value=orgs
|
||||
)
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for('.organisations')
|
||||
)
|
||||
|
||||
@@ -594,12 +594,12 @@ def test_update_organisation_domains(
|
||||
|
||||
|
||||
def test_update_organisation_name(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
organisation_one,
|
||||
mock_get_organisation,
|
||||
mock_organisation_name_is_unique
|
||||
):
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.edit_organisation_name', org_id=organisation_one['id']),
|
||||
data={'name': 'TestNewOrgName'}
|
||||
)
|
||||
@@ -614,11 +614,11 @@ def test_update_organisation_name(
|
||||
|
||||
|
||||
def test_update_organisation_with_incorrect_input(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
organisation_one,
|
||||
mock_get_organisation,
|
||||
):
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.edit_organisation_name', org_id=organisation_one['id']),
|
||||
data={'name': ''}
|
||||
)
|
||||
@@ -632,12 +632,12 @@ def test_update_organisation_with_incorrect_input(
|
||||
|
||||
|
||||
def test_update_organisation_with_non_unique_name(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
organisation_one,
|
||||
mock_get_organisation,
|
||||
mock_organisation_name_is_not_unique
|
||||
):
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.edit_organisation_name', org_id=organisation_one['id']),
|
||||
data={'name': 'TestNewOrgName'}
|
||||
)
|
||||
@@ -653,17 +653,17 @@ def test_update_organisation_with_non_unique_name(
|
||||
|
||||
|
||||
def test_confirm_update_organisation(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
organisation_one,
|
||||
mock_get_organisation,
|
||||
mock_verify_password,
|
||||
mock_update_organisation,
|
||||
mocker
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
session['organisation_name_change'] = 'newName'
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for(
|
||||
'.confirm_edit_organisation_name',
|
||||
org_id=organisation_one['id'],
|
||||
@@ -681,17 +681,17 @@ def test_confirm_update_organisation(
|
||||
|
||||
|
||||
def test_confirm_update_organisation_with_incorrect_password(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
organisation_one,
|
||||
mock_get_organisation,
|
||||
mocker
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
session['organisation_name_change'] = 'newName'
|
||||
|
||||
mocker.patch('app.user_api_client.verify_password', return_value=False)
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for(
|
||||
'.confirm_edit_organisation_name',
|
||||
org_id=organisation_one['id']
|
||||
@@ -707,13 +707,13 @@ def test_confirm_update_organisation_with_incorrect_password(
|
||||
|
||||
|
||||
def test_confirm_update_organisation_with_name_already_in_use(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
organisation_one,
|
||||
mock_get_organisation,
|
||||
mock_verify_password,
|
||||
mocker
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
session['organisation_name_change'] = 'newName'
|
||||
|
||||
mocker.patch(
|
||||
@@ -727,7 +727,7 @@ def test_confirm_update_organisation_with_name_already_in_use(
|
||||
)
|
||||
)
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for(
|
||||
'.confirm_edit_organisation_name',
|
||||
org_id=organisation_one['id']
|
||||
@@ -739,11 +739,11 @@ def test_confirm_update_organisation_with_name_already_in_use(
|
||||
|
||||
|
||||
def test_get_edit_organisation_go_live_notes_page(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_organisation,
|
||||
organisation_one,
|
||||
):
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for(
|
||||
'.edit_organisation_go_live_notes',
|
||||
org_id=organisation_one['id']
|
||||
@@ -761,14 +761,14 @@ def test_get_edit_organisation_go_live_notes_page(
|
||||
(' ', None)
|
||||
])
|
||||
def test_post_edit_organisation_go_live_notes_updates_go_live_notes(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_organisation,
|
||||
mock_update_organisation,
|
||||
organisation_one,
|
||||
input_note,
|
||||
saved_note,
|
||||
):
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for(
|
||||
'.edit_organisation_go_live_notes',
|
||||
org_id=organisation_one['id'],
|
||||
|
||||
@@ -47,7 +47,7 @@ def test_service_set_permission_requires_platform_admin(
|
||||
])
|
||||
def test_service_set_permission(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
mock_get_inbound_number_for_service,
|
||||
permission,
|
||||
@@ -55,7 +55,7 @@ def test_service_set_permission(
|
||||
on
|
||||
):
|
||||
force_permission = mocker.patch('app.models.service.Service.force_permission')
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('main.service_set_permission', service_id=service_one['id'], permission=permission),
|
||||
data={'enabled': form_data}
|
||||
)
|
||||
|
||||
@@ -1452,7 +1452,7 @@ def test_org_breadcrumbs_show_if_user_is_platform_admin(
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
platform_admin_user,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
):
|
||||
service_one_json = service_json(SERVICE_ONE_ID,
|
||||
users=[platform_admin_user['id']],
|
||||
@@ -1461,7 +1461,7 @@ def test_org_breadcrumbs_show_if_user_is_platform_admin(
|
||||
mocker.patch('app.service_api_client.get_service', return_value={'data': service_one_json})
|
||||
mocker.patch('app.models.service.Organisation')
|
||||
|
||||
response = logged_in_platform_admin_client.get(url_for('main.service_dashboard', service_id=SERVICE_ONE_ID))
|
||||
response = platform_admin_client.get(url_for('main.service_dashboard', service_id=SERVICE_ONE_ID))
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
|
||||
assert page.select_one('.navigation-organisation-link')['href'] == url_for(
|
||||
|
||||
@@ -15,11 +15,11 @@ from tests.conftest import (
|
||||
|
||||
|
||||
def test_email_branding_page_shows_full_branding_list(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_all_email_branding
|
||||
):
|
||||
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for('.email_branding')
|
||||
)
|
||||
|
||||
@@ -52,11 +52,11 @@ def test_email_branding_page_shows_full_branding_list(
|
||||
|
||||
|
||||
def test_edit_email_branding_shows_the_correct_branding_info(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_email_branding,
|
||||
fake_uuid
|
||||
):
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for('.update_email_branding', branding_id=fake_uuid)
|
||||
)
|
||||
|
||||
@@ -70,11 +70,11 @@ def test_edit_email_branding_shows_the_correct_branding_info(
|
||||
|
||||
|
||||
def test_create_email_branding_does_not_show_any_branding_info(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_no_email_branding
|
||||
):
|
||||
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for('.create_email_branding')
|
||||
)
|
||||
|
||||
@@ -88,7 +88,7 @@ def test_create_email_branding_does_not_show_any_branding_info(
|
||||
|
||||
|
||||
def test_create_new_email_branding_without_logo(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
mock_create_email_branding,
|
||||
@@ -104,7 +104,7 @@ def test_create_new_email_branding_without_logo(
|
||||
mock_persist = mocker.patch('app.main.views.email_branding.persist_logo')
|
||||
mocker.patch('app.main.views.email_branding.delete_email_temp_files_created_by')
|
||||
|
||||
logged_in_platform_admin_client.post(
|
||||
platform_admin_client.post(
|
||||
url_for('.create_email_branding'),
|
||||
content_type='multipart/form-data',
|
||||
data=data
|
||||
@@ -174,12 +174,12 @@ def test_create_email_branding_does_not_require_a_name_when_uploading_a_file(
|
||||
|
||||
|
||||
def test_create_new_email_branding_when_branding_saved(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mocker,
|
||||
mock_create_email_branding,
|
||||
fake_uuid
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
data = {
|
||||
@@ -199,7 +199,7 @@ def test_create_new_email_branding_when_branding_saved(
|
||||
mocker.patch('app.main.views.email_branding.persist_logo')
|
||||
mocker.patch('app.main.views.email_branding.delete_email_temp_files_created_by')
|
||||
|
||||
logged_in_platform_admin_client.post(
|
||||
platform_admin_client.post(
|
||||
url_for('.create_email_branding', logo=temp_filename),
|
||||
content_type='multipart/form-data',
|
||||
data={
|
||||
@@ -228,7 +228,7 @@ def test_create_new_email_branding_when_branding_saved(
|
||||
('main.update_email_branding', True),
|
||||
])
|
||||
def test_deletes_previous_temp_logo_after_uploading_logo(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mocker,
|
||||
endpoint,
|
||||
has_data,
|
||||
@@ -237,7 +237,7 @@ def test_deletes_previous_temp_logo_after_uploading_logo(
|
||||
if has_data:
|
||||
mock_get_email_branding(mocker, fake_uuid)
|
||||
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
temp_old_filename = EMAIL_LOGO_LOCATION_STRUCTURE.format(
|
||||
@@ -259,7 +259,7 @@ def test_deletes_previous_temp_logo_after_uploading_logo(
|
||||
|
||||
mocked_delete_email_temp_file = mocker.patch('app.main.views.email_branding.delete_email_temp_file')
|
||||
|
||||
logged_in_platform_admin_client.post(
|
||||
platform_admin_client.post(
|
||||
url_for('main.create_email_branding', logo=temp_old_filename, branding_id=fake_uuid),
|
||||
data={'file': (BytesIO(''.encode('utf-8')), 'test.png')},
|
||||
content_type='multipart/form-data'
|
||||
@@ -271,13 +271,13 @@ def test_deletes_previous_temp_logo_after_uploading_logo(
|
||||
|
||||
|
||||
def test_update_existing_branding(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
mock_get_email_branding,
|
||||
mock_update_email_branding
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
data = {
|
||||
@@ -297,7 +297,7 @@ def test_update_existing_branding(
|
||||
mocker.patch('app.main.views.email_branding.persist_logo')
|
||||
mocker.patch('app.main.views.email_branding.delete_email_temp_files_created_by')
|
||||
|
||||
logged_in_platform_admin_client.post(
|
||||
platform_admin_client.post(
|
||||
url_for('.update_email_branding', logo=temp_filename, branding_id=fake_uuid),
|
||||
content_type='multipart/form-data',
|
||||
data={'colour': data['colour'], 'name': data['name'], 'text': data['text'],
|
||||
@@ -320,11 +320,11 @@ def test_update_existing_branding(
|
||||
|
||||
|
||||
def test_temp_logo_is_shown_after_uploading_logo(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
temp_filename = EMAIL_LOGO_LOCATION_STRUCTURE.format(
|
||||
@@ -336,7 +336,7 @@ def test_temp_logo_is_shown_after_uploading_logo(
|
||||
mocker.patch('app.main.views.email_branding.upload_email_logo', return_value=temp_filename)
|
||||
mocker.patch('app.main.views.email_branding.delete_email_temp_file')
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('main.create_email_branding'),
|
||||
data={'file': (BytesIO(''.encode('utf-8')), 'test.png')},
|
||||
content_type='multipart/form-data',
|
||||
@@ -351,12 +351,12 @@ def test_temp_logo_is_shown_after_uploading_logo(
|
||||
|
||||
|
||||
def test_logo_persisted_when_organisation_saved(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_create_email_branding,
|
||||
mocker,
|
||||
fake_uuid
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
temp_filename = EMAIL_LOGO_LOCATION_STRUCTURE.format(
|
||||
@@ -366,7 +366,7 @@ def test_logo_persisted_when_organisation_saved(
|
||||
mocked_persist_logo = mocker.patch('app.main.views.email_branding.persist_logo')
|
||||
mocked_delete_email_temp_files_by = mocker.patch('app.main.views.email_branding.delete_email_temp_files_created_by')
|
||||
|
||||
resp = logged_in_platform_admin_client.post(
|
||||
resp = platform_admin_client.post(
|
||||
url_for('.create_email_branding', logo=temp_filename),
|
||||
content_type='multipart/form-data'
|
||||
)
|
||||
@@ -380,12 +380,12 @@ def test_logo_persisted_when_organisation_saved(
|
||||
|
||||
|
||||
def test_logo_does_not_get_persisted_if_updating_email_branding_client_throws_an_error(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_create_email_branding,
|
||||
mocker,
|
||||
fake_uuid
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
temp_filename = EMAIL_LOGO_LOCATION_STRUCTURE.format(
|
||||
@@ -395,7 +395,7 @@ def test_logo_does_not_get_persisted_if_updating_email_branding_client_throws_an
|
||||
mocked_delete_email_temp_files_by = mocker.patch('app.main.views.email_branding.delete_email_temp_files_created_by')
|
||||
mocker.patch('app.main.views.email_branding.email_branding_client.create_email_branding', side_effect=HTTPError())
|
||||
|
||||
logged_in_platform_admin_client.post(
|
||||
platform_admin_client.post(
|
||||
url_for('.create_email_branding', logo=temp_filename),
|
||||
content_type='multipart/form-data'
|
||||
)
|
||||
@@ -410,7 +410,7 @@ def test_logo_does_not_get_persisted_if_updating_email_branding_client_throws_an
|
||||
('', 302),
|
||||
])
|
||||
def test_colour_regex_validation(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
colour_hex,
|
||||
@@ -427,7 +427,7 @@ def test_colour_regex_validation(
|
||||
|
||||
mocker.patch('app.main.views.email_branding.delete_email_temp_files_created_by')
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.create_email_branding'),
|
||||
content_type='multipart/form-data',
|
||||
data=data
|
||||
|
||||
@@ -153,11 +153,11 @@ def test_user_information_page_displays_if_there_are_failed_login_attempts(
|
||||
|
||||
|
||||
def test_user_information_page_shows_archive_link_for_active_users(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
api_user_active,
|
||||
mock_get_organisations_and_services_for_user,
|
||||
):
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for('main.user_information', user_id=api_user_active['id'])
|
||||
)
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
@@ -186,11 +186,11 @@ def test_user_information_page_does_not_show_archive_link_for_inactive_users(
|
||||
|
||||
|
||||
def test_archive_user_prompts_for_confirmation(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
api_user_active,
|
||||
mock_get_organisations_and_services_for_user,
|
||||
):
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for('main.archive_user', user_id=api_user_active['id'])
|
||||
)
|
||||
|
||||
@@ -200,14 +200,14 @@ def test_archive_user_prompts_for_confirmation(
|
||||
|
||||
|
||||
def test_archive_user_posts_to_user_client(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
api_user_active,
|
||||
mocker,
|
||||
mock_events,
|
||||
):
|
||||
mock_user_client = mocker.patch('app.user_api_client.post')
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('main.archive_user', user_id=api_user_active['id'])
|
||||
)
|
||||
|
||||
@@ -219,7 +219,7 @@ def test_archive_user_posts_to_user_client(
|
||||
|
||||
|
||||
def test_archive_user_does_not_create_event_if_user_client_raises_exception(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
api_user_active,
|
||||
mocker,
|
||||
mock_events,
|
||||
@@ -227,7 +227,7 @@ def test_archive_user_does_not_create_event_if_user_client_raises_exception(
|
||||
mock_user_client = mocker.patch('app.user_api_client.post', side_effect=Exception())
|
||||
|
||||
with pytest.raises(Exception):
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('main.archive_user', user_id=api_user_active.id)
|
||||
)
|
||||
|
||||
|
||||
@@ -25,9 +25,9 @@ sample_inbound_sms = {'data': [{"id": "activated",
|
||||
]}
|
||||
|
||||
|
||||
def test_inbound_sms_admin(logged_in_platform_admin_client, mocker):
|
||||
def test_inbound_sms_admin(platform_admin_client, mocker):
|
||||
mocker.patch("app.inbound_number_client.get_all_inbound_sms_number_service", return_value=sample_inbound_sms)
|
||||
response = logged_in_platform_admin_client.get(url_for("main.inbound_sms_admin"))
|
||||
response = platform_admin_client.get(url_for("main.inbound_sms_admin"))
|
||||
assert response.status_code == 200
|
||||
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
|
||||
@@ -16,10 +16,10 @@ from tests.conftest import normalize_spaces
|
||||
|
||||
|
||||
def test_letter_branding_page_shows_full_branding_list(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_all_letter_branding
|
||||
):
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for('.letter_branding')
|
||||
)
|
||||
|
||||
@@ -49,10 +49,10 @@ def test_letter_branding_page_shows_full_branding_list(
|
||||
|
||||
|
||||
def test_update_letter_branding_shows_the_current_letter_brand(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_letter_branding_by_id,
|
||||
):
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for('.update_letter_branding', branding_id='abc')
|
||||
)
|
||||
|
||||
@@ -66,11 +66,11 @@ def test_update_letter_branding_shows_the_current_letter_brand(
|
||||
|
||||
def test_update_letter_branding_with_new_valid_file(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_letter_branding_by_id,
|
||||
fake_uuid
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
filename = 'new_file.svg'
|
||||
@@ -80,7 +80,7 @@ def test_update_letter_branding_with_new_valid_file(
|
||||
mocker.patch('app.s3_client.s3_logo_client.uuid.uuid4', return_value=fake_uuid)
|
||||
mock_delete_temp_files = mocker.patch('app.main.views.letter_branding.delete_letter_temp_file')
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.update_letter_branding', branding_id='abc'),
|
||||
data={'file': (BytesIO(''.encode('utf-8')), filename)},
|
||||
follow_redirects=True
|
||||
@@ -96,10 +96,10 @@ def test_update_letter_branding_with_new_valid_file(
|
||||
|
||||
|
||||
def test_update_letter_branding_when_uploading_invalid_file(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_letter_branding_by_id
|
||||
):
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.update_letter_branding', branding_id='abc'),
|
||||
data={'file': (BytesIO(''.encode('utf-8')), 'test.png')},
|
||||
follow_redirects=True
|
||||
@@ -114,11 +114,11 @@ def test_update_letter_branding_when_uploading_invalid_file(
|
||||
|
||||
def test_update_letter_branding_deletes_any_temp_files_when_uploading_a_file(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_letter_branding_by_id,
|
||||
fake_uuid,
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
temp_logo = LETTER_TEMP_LOGO_LOCATION.format(user_id=user_id, unique_id=fake_uuid, filename='temp.svg')
|
||||
@@ -126,7 +126,7 @@ def test_update_letter_branding_deletes_any_temp_files_when_uploading_a_file(
|
||||
mock_s3_upload = mocker.patch('app.s3_client.s3_logo_client.utils_s3upload')
|
||||
mock_delete_temp_files = mocker.patch('app.main.views.letter_branding.delete_letter_temp_file')
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.update_letter_branding', branding_id='abc', logo=temp_logo),
|
||||
data={'file': (BytesIO(''.encode('utf-8')), 'new_uploaded_file.svg')},
|
||||
follow_redirects=True
|
||||
@@ -142,7 +142,7 @@ def test_update_letter_branding_deletes_any_temp_files_when_uploading_a_file(
|
||||
|
||||
def test_update_letter_branding_with_original_file_and_new_details(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_all_letter_branding,
|
||||
mock_get_letter_branding_by_id,
|
||||
fake_uuid
|
||||
@@ -151,7 +151,7 @@ def test_update_letter_branding_with_original_file_and_new_details(
|
||||
mock_template_preview = mocker.patch('app.main.views.letter_branding.get_png_file_from_svg')
|
||||
mock_upload_logos = mocker.patch('app.main.views.letter_branding.upload_letter_logos')
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.update_letter_branding', branding_id=fake_uuid),
|
||||
data={
|
||||
'name': 'Updated name',
|
||||
@@ -175,7 +175,7 @@ def test_update_letter_branding_with_original_file_and_new_details(
|
||||
|
||||
def test_update_letter_branding_shows_form_errors_on_name_fields(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_letter_branding_by_id,
|
||||
fake_uuid
|
||||
):
|
||||
@@ -183,7 +183,7 @@ def test_update_letter_branding_shows_form_errors_on_name_fields(
|
||||
|
||||
logo = permanent_letter_logo_name('hm-government', 'svg')
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.update_letter_branding', branding_id=fake_uuid, logo=logo),
|
||||
data={
|
||||
'name': '',
|
||||
@@ -202,7 +202,7 @@ def test_update_letter_branding_shows_form_errors_on_name_fields(
|
||||
|
||||
def test_update_letter_branding_shows_database_errors_on_name_field(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_letter_branding_by_id,
|
||||
fake_uuid,
|
||||
):
|
||||
@@ -222,7 +222,7 @@ def test_update_letter_branding_shows_database_errors_on_name_field(
|
||||
message={'name': ['name already in use']}
|
||||
))
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.update_letter_branding', branding_id='abc'),
|
||||
data={
|
||||
'name': 'my brand',
|
||||
@@ -239,7 +239,7 @@ def test_update_letter_branding_shows_database_errors_on_name_field(
|
||||
|
||||
def test_update_letter_branding_with_new_file_and_new_details(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_all_letter_branding,
|
||||
mock_get_letter_branding_by_id,
|
||||
fake_uuid
|
||||
@@ -254,7 +254,7 @@ def test_update_letter_branding_with_new_file_and_new_details(
|
||||
mock_upload_png = mocker.patch('app.main.views.letter_branding.upload_letter_png_logo')
|
||||
mock_delete_temp_files = mocker.patch('app.main.views.letter_branding.delete_letter_temp_files_created_by')
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.update_letter_branding', branding_id=fake_uuid, logo=temp_logo),
|
||||
data={
|
||||
'name': 'Updated name',
|
||||
@@ -286,7 +286,7 @@ def test_update_letter_branding_with_new_file_and_new_details(
|
||||
|
||||
def test_update_letter_branding_rolls_back_db_changes_and_shows_error_if_saving_to_s3_fails(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_letter_branding_by_id,
|
||||
fake_uuid
|
||||
):
|
||||
@@ -295,7 +295,7 @@ def test_update_letter_branding_rolls_back_db_changes_and_shows_error_if_saving_
|
||||
mocker.patch('app.main.views.letter_branding.upload_letter_logos', side_effect=BotoClientError({}, 'error'))
|
||||
|
||||
temp_logo = LETTER_TEMP_LOGO_LOCATION.format(user_id=fake_uuid, unique_id=fake_uuid, filename='new_file.svg')
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.update_letter_branding', branding_id=fake_uuid, logo=temp_logo),
|
||||
data={
|
||||
'name': 'Updated name',
|
||||
@@ -315,8 +315,8 @@ def test_update_letter_branding_rolls_back_db_changes_and_shows_error_if_saving_
|
||||
]
|
||||
|
||||
|
||||
def test_create_letter_branding_does_not_show_branding_info(logged_in_platform_admin_client):
|
||||
response = logged_in_platform_admin_client.get(
|
||||
def test_create_letter_branding_does_not_show_branding_info(platform_admin_client):
|
||||
response = platform_admin_client.get(
|
||||
url_for('.create_letter_branding')
|
||||
)
|
||||
|
||||
@@ -329,10 +329,10 @@ def test_create_letter_branding_does_not_show_branding_info(logged_in_platform_a
|
||||
|
||||
def test_create_letter_branding_when_uploading_valid_file(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
fake_uuid
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
filename = 'test.svg'
|
||||
@@ -342,7 +342,7 @@ def test_create_letter_branding_when_uploading_valid_file(
|
||||
mocker.patch('app.s3_client.s3_logo_client.uuid.uuid4', return_value=fake_uuid)
|
||||
mock_delete_temp_files = mocker.patch('app.main.views.letter_branding.delete_letter_temp_file')
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.create_letter_branding'),
|
||||
data={'file': (BytesIO(''.encode('utf-8')), filename)},
|
||||
follow_redirects=True
|
||||
@@ -356,8 +356,8 @@ def test_create_letter_branding_when_uploading_valid_file(
|
||||
mock_delete_temp_files.assert_not_called()
|
||||
|
||||
|
||||
def test_create_letter_branding_when_uploading_invalid_file(logged_in_platform_admin_client):
|
||||
response = logged_in_platform_admin_client.post(
|
||||
def test_create_letter_branding_when_uploading_invalid_file(platform_admin_client):
|
||||
response = platform_admin_client.post(
|
||||
url_for('.create_letter_branding'),
|
||||
data={'file': (BytesIO(''.encode('utf-8')), 'test.png')},
|
||||
follow_redirects=True
|
||||
@@ -372,10 +372,10 @@ def test_create_letter_branding_when_uploading_invalid_file(logged_in_platform_a
|
||||
|
||||
def test_create_letter_branding_deletes_temp_files_when_uploading_a_new_file(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
fake_uuid,
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
temp_logo = LETTER_TEMP_LOGO_LOCATION.format(user_id=user_id, unique_id=fake_uuid, filename='temp.svg')
|
||||
@@ -383,7 +383,7 @@ def test_create_letter_branding_deletes_temp_files_when_uploading_a_new_file(
|
||||
mock_s3_upload = mocker.patch('app.s3_client.s3_logo_client.utils_s3upload')
|
||||
mock_delete_temp_files = mocker.patch('app.main.views.letter_branding.delete_letter_temp_file')
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.create_letter_branding', logo=temp_logo),
|
||||
data={'file': (BytesIO(''.encode('utf-8')), 'new.svg')},
|
||||
follow_redirects=True
|
||||
@@ -399,15 +399,15 @@ def test_create_letter_branding_deletes_temp_files_when_uploading_a_new_file(
|
||||
|
||||
def test_create_new_letter_branding_shows_preview_of_logo(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
fake_uuid
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
temp_logo = LETTER_TEMP_LOGO_LOCATION.format(user_id=user_id, unique_id=fake_uuid, filename='temp.svg')
|
||||
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for('.create_letter_branding', logo=temp_logo)
|
||||
)
|
||||
|
||||
@@ -419,10 +419,10 @@ def test_create_new_letter_branding_shows_preview_of_logo(
|
||||
|
||||
|
||||
def test_create_letter_branding_shows_an_error_when_submitting_details_with_no_logo(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
fake_uuid
|
||||
):
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.create_letter_branding'),
|
||||
data={
|
||||
'name': 'Test brand',
|
||||
@@ -439,10 +439,10 @@ def test_create_letter_branding_shows_an_error_when_submitting_details_with_no_l
|
||||
|
||||
def test_create_letter_branding_persists_logo_when_all_data_is_valid(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
fake_uuid,
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
temp_logo = LETTER_TEMP_LOGO_LOCATION.format(user_id=user_id, unique_id=fake_uuid, filename='test.svg')
|
||||
@@ -455,7 +455,7 @@ def test_create_letter_branding_persists_logo_when_all_data_is_valid(
|
||||
mock_upload_png = mocker.patch('app.main.views.letter_branding.upload_letter_png_logo')
|
||||
mock_delete_temp_files = mocker.patch('app.main.views.letter_branding.delete_letter_temp_files_created_by')
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.create_letter_branding', logo=temp_logo),
|
||||
data={
|
||||
'name': 'Test brand',
|
||||
@@ -485,15 +485,15 @@ def test_create_letter_branding_persists_logo_when_all_data_is_valid(
|
||||
|
||||
|
||||
def test_create_letter_branding_shows_form_errors_on_name_field(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
fake_uuid
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
temp_logo = LETTER_TEMP_LOGO_LOCATION.format(user_id=user_id, unique_id=fake_uuid, filename='test.svg')
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.create_letter_branding', logo=temp_logo),
|
||||
data={
|
||||
'name': '',
|
||||
@@ -511,10 +511,10 @@ def test_create_letter_branding_shows_form_errors_on_name_field(
|
||||
|
||||
def test_create_letter_branding_shows_database_errors_on_name_fields(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
fake_uuid,
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
user_id = session["user_id"]
|
||||
|
||||
mocker.patch('app.main.views.letter_branding.get_png_file_from_svg')
|
||||
@@ -535,7 +535,7 @@ def test_create_letter_branding_shows_database_errors_on_name_fields(
|
||||
|
||||
temp_logo = LETTER_TEMP_LOGO_LOCATION.format(user_id=user_id, unique_id=fake_uuid, filename='test.svg')
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.create_letter_branding', logo=temp_logo),
|
||||
data={
|
||||
'name': 'my brand',
|
||||
|
||||
@@ -14,7 +14,7 @@ letters_urls = [
|
||||
([], 403)
|
||||
])
|
||||
def test_letters_access_restricted(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mocker,
|
||||
permissions,
|
||||
response_code,
|
||||
@@ -26,7 +26,7 @@ def test_letters_access_restricted(
|
||||
|
||||
mocker.patch('app.service_api_client.get_service', return_value={"data": service_one})
|
||||
|
||||
response = logged_in_platform_admin_client.get(url(service_id=service_one['id']))
|
||||
response = platform_admin_client.get(url(service_id=service_one['id']))
|
||||
|
||||
assert response.status_code == response_code
|
||||
|
||||
|
||||
@@ -19,12 +19,7 @@ from app.main.views.platform_admin import (
|
||||
sum_service_usage,
|
||||
)
|
||||
from tests import service_json
|
||||
from tests.conftest import (
|
||||
SERVICE_ONE_ID,
|
||||
SERVICE_TWO_ID,
|
||||
mock_get_user,
|
||||
normalize_spaces,
|
||||
)
|
||||
from tests.conftest import SERVICE_ONE_ID, SERVICE_TWO_ID, normalize_spaces
|
||||
|
||||
|
||||
@pytest.mark.parametrize('endpoint', [
|
||||
@@ -47,16 +42,10 @@ def test_should_redirect_if_not_logged_in(
|
||||
'main.trial_services',
|
||||
])
|
||||
def test_should_403_if_not_platform_admin(
|
||||
client,
|
||||
active_user_with_permissions,
|
||||
mocker,
|
||||
client_request,
|
||||
endpoint,
|
||||
):
|
||||
mock_get_user(mocker, user=active_user_with_permissions)
|
||||
client.login(active_user_with_permissions)
|
||||
response = client.get(url_for(endpoint))
|
||||
|
||||
assert response.status_code == 403
|
||||
client_request.get(endpoint, _expected_status=403)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('endpoint, restricted, research_mode, displayed', [
|
||||
@@ -70,9 +59,7 @@ def test_should_show_research_and_restricted_mode(
|
||||
restricted,
|
||||
research_mode,
|
||||
displayed,
|
||||
client,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
platform_admin_client,
|
||||
mock_get_detailed_services,
|
||||
fake_uuid,
|
||||
):
|
||||
@@ -80,9 +67,8 @@ def test_should_show_research_and_restricted_mode(
|
||||
services[0]['statistics'] = create_stats()
|
||||
|
||||
mock_get_detailed_services.return_value = {'data': services}
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
response = client.get(url_for(endpoint))
|
||||
|
||||
response = platform_admin_client.get(url_for(endpoint))
|
||||
|
||||
assert response.status_code == 200
|
||||
mock_get_detailed_services.assert_called_once_with({'detailed': True,
|
||||
@@ -100,16 +86,12 @@ def test_should_show_research_and_restricted_mode(
|
||||
('main.trial_services', 1),
|
||||
])
|
||||
def test_should_render_platform_admin_page(
|
||||
client,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
platform_admin_client,
|
||||
mock_get_detailed_services,
|
||||
endpoint,
|
||||
expected_services_shown
|
||||
):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
response = client.get(url_for(endpoint))
|
||||
response = platform_admin_client.get(url_for(endpoint))
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
assert len(page.select('tbody tr')) == expected_services_shown * 3 # one row for SMS, one for email, one for letter
|
||||
@@ -129,16 +111,12 @@ def test_should_render_platform_admin_page(
|
||||
])
|
||||
def test_live_trial_services_toggle_including_from_test_key(
|
||||
partial_url_for,
|
||||
client,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
platform_admin_client,
|
||||
mock_get_detailed_services,
|
||||
endpoint,
|
||||
inc
|
||||
):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
response = client.get(partial_url_for(endpoint))
|
||||
response = platform_admin_client.get(partial_url_for(endpoint))
|
||||
|
||||
assert response.status_code == 200
|
||||
mock_get_detailed_services.assert_called_once_with({
|
||||
@@ -153,15 +131,11 @@ def test_live_trial_services_toggle_including_from_test_key(
|
||||
'main.trial_services'
|
||||
])
|
||||
def test_live_trial_services_with_date_filter(
|
||||
client,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
platform_admin_client,
|
||||
mock_get_detailed_services,
|
||||
endpoint
|
||||
):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
response = client.get(url_for(endpoint, start_date='2016-12-20', end_date='2016-12-28'))
|
||||
response = platform_admin_client.get(url_for(endpoint, start_date='2016-12-20', end_date='2016-12-28'))
|
||||
|
||||
assert response.status_code == 200
|
||||
resp_data = response.get_data(as_text=True)
|
||||
@@ -192,9 +166,7 @@ def test_live_trial_services_with_date_filter(
|
||||
),
|
||||
])
|
||||
def test_should_show_total_on_live_trial_services_pages(
|
||||
client,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
platform_admin_client,
|
||||
mock_get_detailed_services,
|
||||
endpoint,
|
||||
fake_uuid,
|
||||
@@ -230,9 +202,7 @@ def test_should_show_total_on_live_trial_services_pages(
|
||||
|
||||
mock_get_detailed_services.return_value = {'data': services}
|
||||
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
response = client.get(url_for(endpoint))
|
||||
response = platform_admin_client.get(url_for(endpoint))
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
assert (
|
||||
@@ -349,9 +319,7 @@ def test_should_show_email_and_sms_stats_for_all_service_types(
|
||||
endpoint,
|
||||
restricted,
|
||||
research_mode,
|
||||
client,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
platform_admin_client,
|
||||
mock_get_detailed_services,
|
||||
fake_uuid,
|
||||
):
|
||||
@@ -366,9 +334,7 @@ def test_should_show_email_and_sms_stats_for_all_service_types(
|
||||
)
|
||||
|
||||
mock_get_detailed_services.return_value = {'data': services}
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
response = client.get(url_for(endpoint))
|
||||
response = platform_admin_client.get(url_for(endpoint))
|
||||
|
||||
assert response.status_code == 200
|
||||
mock_get_detailed_services.assert_called_once_with({'detailed': True,
|
||||
@@ -397,9 +363,7 @@ def test_should_show_email_and_sms_stats_for_all_service_types(
|
||||
], ids=['live', 'trial'])
|
||||
def test_should_show_archived_services_last(
|
||||
endpoint,
|
||||
client,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
platform_admin_client,
|
||||
mock_get_detailed_services,
|
||||
restricted,
|
||||
):
|
||||
@@ -413,9 +377,7 @@ def test_should_show_archived_services_last(
|
||||
services[2]['statistics'] = create_stats()
|
||||
|
||||
mock_get_detailed_services.return_value = {'data': services}
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
response = client.get(url_for(endpoint))
|
||||
response = platform_admin_client.get(url_for(endpoint))
|
||||
|
||||
assert response.status_code == 200
|
||||
mock_get_detailed_services.assert_called_once_with({'detailed': True,
|
||||
@@ -433,9 +395,7 @@ def test_should_show_archived_services_last(
|
||||
|
||||
@pytest.mark.parametrize('research_mode', (True, False))
|
||||
def test_shows_archived_label_instead_of_live_or_research_mode_label(
|
||||
client,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
platform_admin_client,
|
||||
mock_get_detailed_services,
|
||||
research_mode,
|
||||
):
|
||||
@@ -445,9 +405,7 @@ def test_shows_archived_label_instead_of_live_or_research_mode_label(
|
||||
services[0]['statistics'] = create_stats()
|
||||
|
||||
mock_get_detailed_services.return_value = {'data': services}
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
response = client.get(url_for('main.live_services'))
|
||||
response = platform_admin_client.get(url_for('main.live_services'))
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
@@ -466,9 +424,7 @@ def test_should_order_services_by_usage_with_inactive_last(
|
||||
endpoint,
|
||||
restricted,
|
||||
research_mode,
|
||||
client,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
platform_admin_client,
|
||||
mock_get_detailed_services,
|
||||
fake_uuid,
|
||||
):
|
||||
@@ -505,9 +461,7 @@ def test_should_order_services_by_usage_with_inactive_last(
|
||||
)
|
||||
|
||||
mock_get_detailed_services.return_value = {'data': services}
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
response = client.get(url_for(endpoint))
|
||||
response = platform_admin_client.get(url_for(endpoint))
|
||||
|
||||
assert response.status_code == 200
|
||||
mock_get_detailed_services.assert_called_once_with({'detailed': True,
|
||||
@@ -550,12 +504,9 @@ def test_sum_service_usage_with_zeros(fake_uuid):
|
||||
|
||||
|
||||
def test_platform_admin_list_complaints(
|
||||
client,
|
||||
platform_admin_user,
|
||||
mocker
|
||||
platform_admin_client,
|
||||
mocker
|
||||
):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
complaint = {
|
||||
'id': str(uuid.uuid4()),
|
||||
'notification_id': str(uuid.uuid4()),
|
||||
@@ -569,8 +520,7 @@ def test_platform_admin_list_complaints(
|
||||
mock = mocker.patch('app.complaint_api_client.get_all_complaints',
|
||||
return_value={'complaints': [complaint], 'links': {}})
|
||||
|
||||
client.login(platform_admin_user)
|
||||
response = client.get(url_for('main.platform_admin_list_complaints'))
|
||||
response = platform_admin_client.get(url_for('main.platform_admin_list_complaints'))
|
||||
|
||||
assert response.status_code == 200
|
||||
resp_data = response.get_data(as_text=True)
|
||||
@@ -578,9 +528,7 @@ def test_platform_admin_list_complaints(
|
||||
assert mock.called
|
||||
|
||||
|
||||
def test_should_show_complaints_with_next_previous(mocker, client, platform_admin_user, service_one, fake_uuid):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
def test_should_show_complaints_with_next_previous(platform_admin_client, mocker, service_one, fake_uuid):
|
||||
|
||||
api_response = {
|
||||
'complaints': [{'complaint_date': None,
|
||||
@@ -596,7 +544,7 @@ def test_should_show_complaints_with_next_previous(mocker, client, platform_admi
|
||||
|
||||
mocker.patch('app.complaint_api_client.get_all_complaints', return_value=api_response)
|
||||
|
||||
response = client.get(url_for('main.platform_admin_list_complaints', page=2))
|
||||
response = platform_admin_client.get(url_for('main.platform_admin_list_complaints', page=2))
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
@@ -611,13 +559,11 @@ def test_should_show_complaints_with_next_previous(mocker, client, platform_admi
|
||||
assert 'page 1' in prev_page_link.text.strip()
|
||||
|
||||
|
||||
def test_platform_admin_list_complaints_returns_404_with_invalid_page(mocker, client, platform_admin_user):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
def test_platform_admin_list_complaints_returns_404_with_invalid_page(platform_admin_client, mocker):
|
||||
|
||||
mocker.patch('app.complaint_api_client.get_all_complaints', return_value={'complaints': [], 'links': {}})
|
||||
|
||||
response = client.get(url_for('main.platform_admin_list_complaints', page='invalid'))
|
||||
response = platform_admin_client.get(url_for('main.platform_admin_list_complaints', page='invalid'))
|
||||
|
||||
assert response.status_code == 404
|
||||
|
||||
@@ -644,7 +590,7 @@ def test_get_tech_failure_status_box_data_removes_percentage_data():
|
||||
assert 'percentage' not in tech_failure_data
|
||||
|
||||
|
||||
def test_platform_admin_with_start_and_end_dates_provided(mocker, logged_in_platform_admin_client):
|
||||
def test_platform_admin_with_start_and_end_dates_provided(mocker, platform_admin_client):
|
||||
start_date = '2018-01-01'
|
||||
end_date = '2018-06-01'
|
||||
api_args = {'start_date': datetime.date(2018, 1, 1), 'end_date': datetime.date(2018, 6, 1)}
|
||||
@@ -654,7 +600,7 @@ def test_platform_admin_with_start_and_end_dates_provided(mocker, logged_in_plat
|
||||
'app.main.views.platform_admin.platform_stats_api_client.get_aggregate_platform_stats')
|
||||
complaint_count_mock = mocker.patch('app.main.views.platform_admin.complaint_api_client.get_complaint_count')
|
||||
|
||||
logged_in_platform_admin_client.get(
|
||||
platform_admin_client.get(
|
||||
url_for('main.platform_admin', start_date=start_date, end_date=end_date)
|
||||
)
|
||||
|
||||
@@ -663,7 +609,7 @@ def test_platform_admin_with_start_and_end_dates_provided(mocker, logged_in_plat
|
||||
|
||||
|
||||
@freeze_time('2018-6-11')
|
||||
def test_platform_admin_with_only_a_start_date_provided(mocker, logged_in_platform_admin_client):
|
||||
def test_platform_admin_with_only_a_start_date_provided(mocker, platform_admin_client):
|
||||
start_date = '2018-01-01'
|
||||
api_args = {'start_date': datetime.date(2018, 1, 1), 'end_date': datetime.datetime.utcnow().date()}
|
||||
|
||||
@@ -672,13 +618,13 @@ def test_platform_admin_with_only_a_start_date_provided(mocker, logged_in_platfo
|
||||
'app.main.views.platform_admin.platform_stats_api_client.get_aggregate_platform_stats')
|
||||
complaint_count_mock = mocker.patch('app.main.views.platform_admin.complaint_api_client.get_complaint_count')
|
||||
|
||||
logged_in_platform_admin_client.get(url_for('main.platform_admin', start_date=start_date))
|
||||
platform_admin_client.get(url_for('main.platform_admin', start_date=start_date))
|
||||
|
||||
aggregate_stats_mock.assert_called_with(api_args)
|
||||
complaint_count_mock.assert_called_with(api_args)
|
||||
|
||||
|
||||
def test_platform_admin_without_dates_provided(mocker, logged_in_platform_admin_client):
|
||||
def test_platform_admin_without_dates_provided(mocker, platform_admin_client):
|
||||
api_args = {}
|
||||
|
||||
mocker.patch('app.main.views.platform_admin.make_columns')
|
||||
@@ -686,7 +632,7 @@ def test_platform_admin_without_dates_provided(mocker, logged_in_platform_admin_
|
||||
'app.main.views.platform_admin.platform_stats_api_client.get_aggregate_platform_stats')
|
||||
complaint_count_mock = mocker.patch('app.main.views.platform_admin.complaint_api_client.get_complaint_count')
|
||||
|
||||
logged_in_platform_admin_client.get(url_for('main.platform_admin'))
|
||||
platform_admin_client.get(url_for('main.platform_admin'))
|
||||
|
||||
aggregate_stats_mock.assert_called_with(api_args)
|
||||
complaint_count_mock.assert_called_with(api_args)
|
||||
@@ -694,7 +640,7 @@ def test_platform_admin_without_dates_provided(mocker, logged_in_platform_admin_
|
||||
|
||||
def test_platform_admin_displays_stats_in_right_boxes_and_with_correct_styling(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
):
|
||||
platform_stats = {
|
||||
'email': {'failures':
|
||||
@@ -714,7 +660,7 @@ def test_platform_admin_displays_stats_in_right_boxes_and_with_correct_styling(
|
||||
return_value=platform_stats)
|
||||
mocker.patch('app.main.views.platform_admin.complaint_api_client.get_complaint_count', return_value=15)
|
||||
|
||||
response = logged_in_platform_admin_client.get(url_for('main.platform_admin'))
|
||||
response = platform_admin_client.get(url_for('main.platform_admin'))
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
|
||||
# Email permanent failure status box - number is correct
|
||||
@@ -733,13 +679,11 @@ def test_platform_admin_displays_stats_in_right_boxes_and_with_correct_styling(
|
||||
'div', class_='big-number-status-failing').text
|
||||
|
||||
|
||||
def test_platform_admin_submit_returned_letters(mocker, client, platform_admin_user):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
def test_platform_admin_submit_returned_letters(mocker, platform_admin_client):
|
||||
|
||||
mock_client = mocker.patch('app.letter_jobs_client.submit_returned_letters')
|
||||
|
||||
response = client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('main.platform_admin_returned_letters'),
|
||||
data={'references': ' NOTIFY000REF1 \n NOTIFY002REF2 '}
|
||||
)
|
||||
@@ -750,13 +694,11 @@ def test_platform_admin_submit_returned_letters(mocker, client, platform_admin_u
|
||||
assert response.location == url_for('main.platform_admin_returned_letters', _external=True)
|
||||
|
||||
|
||||
def test_platform_admin_submit_empty_returned_letters(mocker, client, platform_admin_user):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
def test_platform_admin_submit_empty_returned_letters(mocker, platform_admin_client):
|
||||
|
||||
mock_client = mocker.patch('app.letter_jobs_client.submit_returned_letters')
|
||||
|
||||
response = client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('main.platform_admin_returned_letters'),
|
||||
data={'references': ' \n '}
|
||||
)
|
||||
@@ -797,10 +739,8 @@ def test_service_letter_validation_preview_returns_400_if_file_is_too_big(
|
||||
page.find('span', class_='error-message').text.strip() == "File must be less than 2MB"
|
||||
|
||||
|
||||
def test_letter_validation_preview_renders_correctly(mocker, client, platform_admin_user):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
response = client.get(url_for('main.platform_admin_letter_validation_preview'))
|
||||
def test_letter_validation_preview_renders_correctly(mocker, platform_admin_client):
|
||||
response = platform_admin_client.get(url_for('main.platform_admin_letter_validation_preview'))
|
||||
assert response.status_code == 200
|
||||
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
@@ -810,10 +750,8 @@ def test_letter_validation_preview_renders_correctly(mocker, client, platform_ad
|
||||
|
||||
@pytest.mark.parametrize("result,expected_class", [(True, 'banner-with-tick'), (False, "banner-dangerous")])
|
||||
def test_letter_validation_preview_calls_template_preview_when_data_correct_and_displays_correct_message(
|
||||
mocker, client, platform_admin_user, result, expected_class
|
||||
mocker, platform_admin_client, result, expected_class
|
||||
):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
endpoint = '{}/precompiled/validate?include_preview=true'.format(current_app.config['TEMPLATE_PREVIEW_API_HOST'])
|
||||
mocker.patch('app.main.views.platform_admin.antivirus_client.scan', return_value=True)
|
||||
|
||||
@@ -825,7 +763,7 @@ def test_letter_validation_preview_calls_template_preview_when_data_correct_and_
|
||||
status_code=200
|
||||
)
|
||||
with open('tests/test_pdf_files/multi_page_pdf.pdf', 'rb') as file:
|
||||
response = client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('main.platform_admin_letter_validation_preview'),
|
||||
data={"file": file},
|
||||
content_type='multipart/form-data'
|
||||
@@ -838,12 +776,10 @@ def test_letter_validation_preview_calls_template_preview_when_data_correct_and_
|
||||
assert page.find('div', class_=expected_class).text.strip() == "bazinga!"
|
||||
|
||||
|
||||
def test_letter_validation_preview_doesnt_call_template_preview_when_no_file(mocker, client, platform_admin_user):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
def test_letter_validation_preview_doesnt_call_template_preview_when_no_file(mocker, platform_admin_client):
|
||||
antivirus_scan = mocker.patch('app.main.views.platform_admin.antivirus_client.scan')
|
||||
validate_letter = mocker.patch('app.main.views.platform_admin.validate_letter')
|
||||
response = client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('main.platform_admin_letter_validation_preview'),
|
||||
data={"file": ""},
|
||||
content_type='multipart/form-data'
|
||||
@@ -856,13 +792,11 @@ def test_letter_validation_preview_doesnt_call_template_preview_when_no_file(moc
|
||||
assert page.find('span', class_='error-message').text.strip() == "You need to upload a file to submit"
|
||||
|
||||
|
||||
def test_letter_validation_preview_doesnt_call_template_preview_when_file_not_pdf(mocker, client, platform_admin_user):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
def test_letter_validation_preview_doesnt_call_template_preview_when_file_not_pdf(mocker, platform_admin_client):
|
||||
antivirus_scan = mocker.patch('app.main.views.platform_admin.antivirus_client.scan')
|
||||
validate_letter = mocker.patch('app.main.views.platform_admin.validate_letter')
|
||||
with open('tests/non_spreadsheet_files/actually_a_png.csv', 'rb') as file:
|
||||
response = client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('main.platform_admin_letter_validation_preview'),
|
||||
data={"file": file},
|
||||
content_type='multipart/form-data'
|
||||
@@ -875,15 +809,14 @@ def test_letter_validation_preview_doesnt_call_template_preview_when_file_not_pd
|
||||
|
||||
|
||||
def test_letter_validation_preview_doesnt_call_template_preview_when_file_doesnt_pass_virus_scan(
|
||||
mocker, client, platform_admin_user
|
||||
mocker,
|
||||
platform_admin_client
|
||||
):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
antivirus_scan = mocker.patch('app.main.views.platform_admin.antivirus_client.scan', return_value=False)
|
||||
validate_letter = mocker.patch('app.main.views.platform_admin.validate_letter')
|
||||
|
||||
with open('tests/test_pdf_files/multi_page_pdf.pdf', 'rb') as file:
|
||||
response = client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('main.platform_admin_letter_validation_preview'),
|
||||
data={"file": file},
|
||||
content_type='multipart/form-data'
|
||||
@@ -954,14 +887,10 @@ def test_clear_cache_requires_option(client_request, platform_admin_user, mocker
|
||||
|
||||
|
||||
def test_reports_page(
|
||||
client,
|
||||
platform_admin_user,
|
||||
mocker
|
||||
platform_admin_client
|
||||
):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
|
||||
response = client.get(url_for('main.platform_admin_reports'))
|
||||
response = platform_admin_client.get(url_for('main.platform_admin_reports'))
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
@@ -978,9 +907,7 @@ def test_reports_page(
|
||||
).attrs['href'] == url_for('main.notifications_sent_by_service')
|
||||
|
||||
|
||||
def test_get_live_services_report(client, platform_admin_user, mocker):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
def test_get_live_services_report(platform_admin_client, mocker):
|
||||
|
||||
mocker.patch(
|
||||
'app.service_api_client.get_live_services_data',
|
||||
@@ -999,7 +926,7 @@ def test_get_live_services_report(client, platform_admin_user, mocker):
|
||||
'free_sms_fragment_limit': 200},
|
||||
]}
|
||||
)
|
||||
response = client.get(url_for('main.live_services_csv'))
|
||||
response = platform_admin_client.get(url_for('main.live_services_csv'))
|
||||
assert response.status_code == 200
|
||||
report = response.get_data(as_text=True)
|
||||
assert report.strip() == (
|
||||
@@ -1014,9 +941,7 @@ def test_get_live_services_report(client, platform_admin_user, mocker):
|
||||
)
|
||||
|
||||
|
||||
def test_get_performance_platform_report(client, platform_admin_user, mocker):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
client.login(platform_admin_user)
|
||||
def test_get_performance_platform_report(platform_admin_client, mocker):
|
||||
|
||||
mocker.patch(
|
||||
'app.service_api_client.get_live_services_data',
|
||||
@@ -1033,7 +958,7 @@ def test_get_performance_platform_report(client, platform_admin_user, mocker):
|
||||
'letter_volume_intent': 0, 'sms_totals': 0, 'email_totals': 0, 'letter_totals': 0},
|
||||
]}
|
||||
)
|
||||
response = client.get(url_for('main.performance_platform_xlsx'))
|
||||
response = platform_admin_client.get(url_for('main.performance_platform_xlsx'))
|
||||
assert response.status_code == 200
|
||||
assert pyexcel.get_array(
|
||||
file_type='xlsx',
|
||||
@@ -1079,14 +1004,67 @@ def test_get_notifications_sent_by_service_validates_form(mocker, client_request
|
||||
mock_get_stats_from_api.assert_not_called()
|
||||
|
||||
|
||||
def test_usage_for_all_services_when_no_results_for_date(client_request, platform_admin_user, mocker):
|
||||
client_request.login(platform_admin_user)
|
||||
|
||||
mocker.patch("app.main.views.platform_admin.billing_api_client.get_usage_for_all_services",
|
||||
return_value=[])
|
||||
|
||||
page = client_request.post('main.usage_for_all_services',
|
||||
_expected_status=200,
|
||||
_data={'start_date': '2019-01-01', 'end_date': '2019-03-31'})
|
||||
|
||||
error = page.select_one('.banner-dangerous')
|
||||
assert normalize_spaces(error.text) == 'No results for dates'
|
||||
|
||||
|
||||
def test_usage_for_all_services_when_calls_api_and_download_data(platform_admin_client, mocker):
|
||||
mocker.patch("app.main.views.platform_admin.billing_api_client.get_usage_for_all_services",
|
||||
return_value=[{'letter_breakdown': '6 second class letters at 45p\n2 first class letters at 35p\n',
|
||||
'letter_cost': 3.4,
|
||||
'organisation_id': '7832a1be-a1f0-4f2a-982f-05adfd3d6354',
|
||||
'organisation_name': 'Org for a - with sms and letter',
|
||||
'service_id': '48e82ac0-c8c4-4e46-8712-c83c35a94006',
|
||||
'service_name': 'a - with sms and letter',
|
||||
'sms_cost': 0, 'sms_fragments': 0
|
||||
}])
|
||||
|
||||
response = platform_admin_client.post(url_for('main.usage_for_all_services'),
|
||||
data={'start_date': '2019-01-01', 'end_date': '2019-03-31'})
|
||||
|
||||
assert response.status_code == 200
|
||||
assert response.content_type == 'text/csv; charset=utf-8'
|
||||
assert response.headers['Content-Disposition'] == (
|
||||
'attachment; filename="Usage for all services from {} to {}.csv"'.format('2019-01-01', '2019-03-31')
|
||||
)
|
||||
|
||||
assert response.get_data(as_text=True) == (
|
||||
'organisation_id,organisation_name,service_id,service_name,' +
|
||||
'sms_cost,sms_fragments,letter_cost,letter_breakdown' +
|
||||
|
||||
'\r\n' +
|
||||
|
||||
'7832a1be-a1f0-4f2a-982f-05adfd3d6354,' +
|
||||
'Org for a - with sms and letter,' +
|
||||
'48e82ac0-c8c4-4e46-8712-c83c35a94006,' +
|
||||
'a - with sms and letter,' +
|
||||
'0,' +
|
||||
'0,' +
|
||||
'3.4,' +
|
||||
'"6 second class letters at 45p' +
|
||||
'\n' +
|
||||
'2 first class letters at 35p"' +
|
||||
|
||||
'\r\n'
|
||||
)
|
||||
|
||||
|
||||
def test_get_notifications_sent_by_service_calls_api_and_downloads_data(
|
||||
mocker,
|
||||
client,
|
||||
platform_admin_user,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
service_two,
|
||||
):
|
||||
mock_get_user(mocker, user=platform_admin_user)
|
||||
api_data = [
|
||||
['Tue, 01 Jan 2019 00:00:00 GMT', SERVICE_ONE_ID, service_one['name'], 'email', 191, 0, 0, 14, 0, 0],
|
||||
['Tue, 01 Jan 2019 00:00:00 GMT', SERVICE_ONE_ID, service_one['name'], 'sms', 42, 0, 0, 8, 0, 0],
|
||||
@@ -1097,9 +1075,7 @@ def test_get_notifications_sent_by_service_calls_api_and_downloads_data(
|
||||
start_date = datetime.date(2019, 1, 1)
|
||||
end_date = datetime.date(2019, 1, 31)
|
||||
|
||||
client.login(platform_admin_user)
|
||||
|
||||
response = client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('main.notifications_sent_by_service'),
|
||||
data={'start_date': start_date, 'end_date': end_date}
|
||||
)
|
||||
|
||||
@@ -1455,7 +1455,7 @@ def test_send_test_redirects_to_end_if_step_out_of_bounds(
|
||||
('main.send_one_off_step', 'main.send_one_off'),
|
||||
])
|
||||
def test_send_test_redirects_to_start_if_you_skip_steps(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
fake_uuid,
|
||||
mock_get_service_letter_template,
|
||||
@@ -1470,11 +1470,11 @@ def test_send_test_redirects_to_start_if_you_skip_steps(
|
||||
):
|
||||
mocker.patch('app.user_api_client.get_user', return_value=user(fake_uuid))
|
||||
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
session['send_test_letter_page_count'] = 1
|
||||
session['placeholders'] = {'address_line_1': 'foo'}
|
||||
|
||||
response = logged_in_platform_admin_client.get(url_for(
|
||||
response = platform_admin_client.get(url_for(
|
||||
endpoint,
|
||||
service_id=service_one['id'],
|
||||
template_id=fake_uuid,
|
||||
@@ -1722,7 +1722,7 @@ def test_send_test_sms_message_back_link_in_tour(
|
||||
|
||||
|
||||
def test_send_test_letter_clears_previous_page_cache(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mocker,
|
||||
service_one,
|
||||
mock_login,
|
||||
@@ -1731,22 +1731,22 @@ def test_send_test_letter_clears_previous_page_cache(
|
||||
fake_uuid,
|
||||
):
|
||||
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
session['send_test_letter_page_count'] = 'WRONG'
|
||||
|
||||
response = logged_in_platform_admin_client.get(url_for(
|
||||
response = platform_admin_client.get(url_for(
|
||||
'main.send_test',
|
||||
service_id=service_one['id'],
|
||||
template_id=fake_uuid,
|
||||
))
|
||||
assert response.status_code == 302
|
||||
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
assert session['send_test_letter_page_count'] is None
|
||||
|
||||
|
||||
def test_send_test_letter_redirects_to_right_url(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
fake_uuid,
|
||||
mock_get_service_letter_template,
|
||||
mock_s3_upload,
|
||||
@@ -1755,7 +1755,7 @@ def test_send_test_letter_redirects_to_right_url(
|
||||
mocker,
|
||||
):
|
||||
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
session['send_test_letter_page_count'] = 1
|
||||
session['recipient'] = ''
|
||||
session['placeholders'] = {
|
||||
@@ -1768,7 +1768,7 @@ def test_send_test_letter_redirects_to_right_url(
|
||||
'postcode': 'SW1 1AA',
|
||||
}
|
||||
|
||||
response = logged_in_platform_admin_client.get(url_for(
|
||||
response = platform_admin_client.get(url_for(
|
||||
'main.send_one_off_step',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
template_id=fake_uuid,
|
||||
@@ -1930,7 +1930,7 @@ def test_send_test_sms_message_puts_submitted_data_in_session(
|
||||
@pytest.mark.parametrize('filetype', ['pdf', 'png'])
|
||||
def test_send_test_works_as_letter_preview(
|
||||
filetype,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_service_letter_template,
|
||||
mock_get_users_by_service,
|
||||
mock_get_service_statistics,
|
||||
@@ -1948,9 +1948,9 @@ def test_send_test_works_as_letter_preview(
|
||||
|
||||
service_id = service_one['id']
|
||||
template_id = fake_uuid
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
session['placeholders'] = {'address_line_1': 'Jo Lastname'}
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for(
|
||||
'main.send_test_preview',
|
||||
service_id=service_id,
|
||||
@@ -2208,12 +2208,12 @@ def test_create_job_should_call_api(
|
||||
|
||||
|
||||
def test_can_start_letters_job(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_create_job,
|
||||
service_one,
|
||||
fake_uuid
|
||||
):
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
session['file_uploads'] = {
|
||||
fake_uuid: {
|
||||
'template_id': fake_uuid,
|
||||
@@ -2222,7 +2222,7 @@ def test_can_start_letters_job(
|
||||
}
|
||||
}
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('main.start_job', service_id=service_one['id'], upload_id=fake_uuid),
|
||||
data={}
|
||||
)
|
||||
@@ -2271,7 +2271,7 @@ def test_can_start_letters_job(
|
||||
])
|
||||
def test_should_show_preview_letter_message(
|
||||
filetype,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_service_letter_template,
|
||||
mock_get_users_by_service,
|
||||
mock_get_service_statistics,
|
||||
@@ -2303,7 +2303,7 @@ def test_should_show_preview_letter_message(
|
||||
|
||||
service_id = service_one['id']
|
||||
template_id = fake_uuid
|
||||
with logged_in_platform_admin_client.session_transaction() as session:
|
||||
with platform_admin_client.session_transaction() as session:
|
||||
session['file_uploads'] = {
|
||||
fake_uuid: {
|
||||
'template_id': fake_uuid,
|
||||
@@ -2312,7 +2312,7 @@ def test_should_show_preview_letter_message(
|
||||
}
|
||||
}
|
||||
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for(
|
||||
'main.check_messages_preview',
|
||||
service_id=service_id,
|
||||
|
||||
@@ -3411,10 +3411,10 @@ def test_organisation_type_pages_are_platform_admin_only(
|
||||
|
||||
|
||||
def test_should_show_page_to_set_sms_allowance(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
mock_get_free_sms_fragment_limit
|
||||
):
|
||||
response = logged_in_platform_admin_client.get(url_for(
|
||||
response = platform_admin_client.get(url_for(
|
||||
'main.set_free_sms_allowance',
|
||||
service_id=SERVICE_ONE_ID
|
||||
))
|
||||
@@ -3432,14 +3432,14 @@ def test_should_show_page_to_set_sms_allowance(
|
||||
pytest.param('foo', 'foo', marks=pytest.mark.xfail),
|
||||
])
|
||||
def test_should_set_sms_allowance(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
given_allowance,
|
||||
expected_api_argument,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_create_or_update_free_sms_fragment_limit,
|
||||
):
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for(
|
||||
'main.set_free_sms_allowance',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
@@ -3635,7 +3635,7 @@ def test_switch_service_enable_international_sms(
|
||||
([], '0207 123 4567', ['upload_document']),
|
||||
])
|
||||
def test_service_switch_can_upload_document_shows_permission_page_if_service_contact_details_exist(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
mock_update_service,
|
||||
mock_get_service_settings_page_common,
|
||||
@@ -3650,7 +3650,7 @@ def test_service_switch_can_upload_document_shows_permission_page_if_service_con
|
||||
service_one['permissions'] = start_permissions
|
||||
service_one['contact_link'] = contact_details
|
||||
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for('main.service_switch_can_upload_document', service_id=SERVICE_ONE_ID),
|
||||
follow_redirects=True
|
||||
)
|
||||
@@ -3659,7 +3659,7 @@ def test_service_switch_can_upload_document_shows_permission_page_if_service_con
|
||||
|
||||
|
||||
def test_service_switch_can_upload_document_turning_permission_on_with_no_contact_details_shows_form(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
mock_get_service_settings_page_common,
|
||||
mock_get_service_organisation,
|
||||
@@ -3667,7 +3667,7 @@ def test_service_switch_can_upload_document_turning_permission_on_with_no_contac
|
||||
no_letter_contact_blocks,
|
||||
single_sms_sender,
|
||||
):
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for('main.service_switch_can_upload_document', service_id=SERVICE_ONE_ID),
|
||||
follow_redirects=True
|
||||
)
|
||||
@@ -3683,7 +3683,7 @@ def test_service_switch_can_upload_document_turning_permission_on_with_no_contac
|
||||
('phone_number', '0207 12345'),
|
||||
])
|
||||
def test_service_switch_can_upload_document_lets_contact_details_be_added_and_shows_permission_page(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
mock_update_service,
|
||||
mock_get_service_settings_page_common,
|
||||
@@ -3696,7 +3696,7 @@ def test_service_switch_can_upload_document_lets_contact_details_be_added_and_sh
|
||||
):
|
||||
data = {'contact_details_type': contact_details_type, contact_details_type: contact_details_value}
|
||||
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('main.service_switch_can_upload_document', service_id=SERVICE_ONE_ID),
|
||||
data=data,
|
||||
follow_redirects=True
|
||||
@@ -3778,7 +3778,7 @@ def test_archive_service_prompts_user(
|
||||
|
||||
|
||||
def test_cant_archive_inactive_service(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
single_reply_to_email_address,
|
||||
single_letter_contact_block,
|
||||
@@ -3788,7 +3788,7 @@ def test_cant_archive_inactive_service(
|
||||
):
|
||||
service_one['active'] = False
|
||||
|
||||
response = logged_in_platform_admin_client.get(url_for('main.service_settings', service_id=service_one['id']))
|
||||
response = platform_admin_client.get(url_for('main.service_settings', service_id=service_one['id']))
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
@@ -3796,14 +3796,14 @@ def test_cant_archive_inactive_service(
|
||||
|
||||
|
||||
def test_suspend_service_after_confirm(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
mocker,
|
||||
mock_get_inbound_number_for_service,
|
||||
):
|
||||
mocked_fn = mocker.patch('app.service_api_client.post', return_value=service_one)
|
||||
|
||||
response = logged_in_platform_admin_client.post(url_for('main.suspend_service', service_id=service_one['id']))
|
||||
response = platform_admin_client.post(url_for('main.suspend_service', service_id=service_one['id']))
|
||||
|
||||
assert response.status_code == 302
|
||||
assert response.location == url_for('main.service_settings', service_id=service_one['id'], _external=True)
|
||||
@@ -3811,7 +3811,7 @@ def test_suspend_service_after_confirm(
|
||||
|
||||
|
||||
def test_suspend_service_prompts_user(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
mocker,
|
||||
single_reply_to_email_address,
|
||||
@@ -3822,7 +3822,7 @@ def test_suspend_service_prompts_user(
|
||||
):
|
||||
mocked_fn = mocker.patch('app.service_api_client.post')
|
||||
|
||||
response = logged_in_platform_admin_client.get(url_for('main.suspend_service', service_id=service_one['id']))
|
||||
response = platform_admin_client.get(url_for('main.suspend_service', service_id=service_one['id']))
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
@@ -3832,7 +3832,7 @@ def test_suspend_service_prompts_user(
|
||||
|
||||
|
||||
def test_cant_suspend_inactive_service(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
single_reply_to_email_address,
|
||||
single_letter_contact_block,
|
||||
@@ -3842,7 +3842,7 @@ def test_cant_suspend_inactive_service(
|
||||
):
|
||||
service_one['active'] = False
|
||||
|
||||
response = logged_in_platform_admin_client.get(url_for('main.service_settings', service_id=service_one['id']))
|
||||
response = platform_admin_client.get(url_for('main.service_settings', service_id=service_one['id']))
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
@@ -3850,7 +3850,7 @@ def test_cant_suspend_inactive_service(
|
||||
|
||||
|
||||
def test_resume_service_after_confirm(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
single_reply_to_email_address,
|
||||
single_letter_contact_block,
|
||||
@@ -3861,7 +3861,7 @@ def test_resume_service_after_confirm(
|
||||
service_one['active'] = False
|
||||
mocked_fn = mocker.patch('app.service_api_client.post', return_value=service_one)
|
||||
|
||||
response = logged_in_platform_admin_client.post(url_for('main.resume_service', service_id=service_one['id']))
|
||||
response = platform_admin_client.post(url_for('main.resume_service', service_id=service_one['id']))
|
||||
|
||||
assert response.status_code == 302
|
||||
assert response.location == url_for('main.service_settings', service_id=service_one['id'], _external=True)
|
||||
@@ -3869,7 +3869,7 @@ def test_resume_service_after_confirm(
|
||||
|
||||
|
||||
def test_resume_service_prompts_user(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
single_reply_to_email_address,
|
||||
single_letter_contact_block,
|
||||
@@ -3881,7 +3881,7 @@ def test_resume_service_prompts_user(
|
||||
service_one['active'] = False
|
||||
mocked_fn = mocker.patch('app.service_api_client.post')
|
||||
|
||||
response = logged_in_platform_admin_client.get(url_for('main.resume_service', service_id=service_one['id']))
|
||||
response = platform_admin_client.get(url_for('main.resume_service', service_id=service_one['id']))
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
@@ -3891,7 +3891,7 @@ def test_resume_service_prompts_user(
|
||||
|
||||
|
||||
def test_cant_resume_active_service(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
single_reply_to_email_address,
|
||||
single_letter_contact_block,
|
||||
@@ -3899,7 +3899,7 @@ def test_cant_resume_active_service(
|
||||
single_sms_sender,
|
||||
mock_get_service_settings_page_common
|
||||
):
|
||||
response = logged_in_platform_admin_client.get(url_for('main.service_settings', service_id=service_one['id']))
|
||||
response = platform_admin_client.get(url_for('main.service_settings', service_id=service_one['id']))
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
@@ -4251,12 +4251,12 @@ def test_updates_sms_prefixing(
|
||||
|
||||
|
||||
def test_select_organisation(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
mock_get_service_organisation,
|
||||
mock_get_organisations
|
||||
):
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for('.link_service_to_organisation', service_id=service_one['id']),
|
||||
)
|
||||
|
||||
@@ -4271,14 +4271,14 @@ def test_select_organisation(
|
||||
|
||||
|
||||
def test_select_organisation_shows_message_if_no_orgs(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
mock_get_service_organisation,
|
||||
mocker
|
||||
):
|
||||
mocker.patch('app.organisations_client.get_organisations', return_value=[])
|
||||
|
||||
response = logged_in_platform_admin_client.get(
|
||||
response = platform_admin_client.get(
|
||||
url_for('.link_service_to_organisation', service_id=service_one['id']),
|
||||
)
|
||||
|
||||
@@ -4290,13 +4290,13 @@ def test_select_organisation_shows_message_if_no_orgs(
|
||||
|
||||
|
||||
def test_update_service_organisation(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
mock_get_service_organisation,
|
||||
mock_get_organisations,
|
||||
mock_update_service_organisation,
|
||||
):
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.link_service_to_organisation', service_id=service_one['id']),
|
||||
data={'organisations': '7aa5d4e9-4385-4488-a489-07812ba13384'},
|
||||
)
|
||||
@@ -4309,13 +4309,13 @@ def test_update_service_organisation(
|
||||
|
||||
|
||||
def test_update_service_organisation_does_not_update_if_same_value(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
mock_get_service_organisation,
|
||||
mock_get_organisations,
|
||||
mock_update_service_organisation,
|
||||
):
|
||||
response = logged_in_platform_admin_client.post(
|
||||
response = platform_admin_client.post(
|
||||
url_for('.link_service_to_organisation', service_id=service_one['id']),
|
||||
data={'organisations': '7aa5d4e9-4385-4488-a489-07812ba13383'},
|
||||
)
|
||||
@@ -4440,7 +4440,7 @@ def test_submit_email_branding_request(
|
||||
|
||||
|
||||
def test_show_service_data_retention(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
mock_get_service_data_retention,
|
||||
|
||||
@@ -4448,7 +4448,7 @@ def test_show_service_data_retention(
|
||||
|
||||
mock_get_service_data_retention.return_value[0]['days_of_retention'] = 5
|
||||
|
||||
response = logged_in_platform_admin_client.get(url_for('main.data_retention', service_id=service_one['id']))
|
||||
response = platform_admin_client.get(url_for('main.data_retention', service_id=service_one['id']))
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
rows = page.select('tbody tr')
|
||||
assert len(rows) == 1
|
||||
@@ -4456,26 +4456,26 @@ def test_show_service_data_retention(
|
||||
|
||||
|
||||
def test_view_add_service_data_retention(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
|
||||
):
|
||||
response = logged_in_platform_admin_client.get(url_for('main.add_data_retention', service_id=service_one['id']))
|
||||
response = platform_admin_client.get(url_for('main.add_data_retention', service_id=service_one['id']))
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
assert normalize_spaces(page.select_one('input')['value']) == "email"
|
||||
assert page.find('input', attrs={'name': 'days_of_retention'})
|
||||
|
||||
|
||||
def test_add_service_data_retention(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
mock_create_service_data_retention
|
||||
):
|
||||
response = logged_in_platform_admin_client.post(url_for('main.add_data_retention', service_id=service_one['id']),
|
||||
data={'notification_type': "email",
|
||||
'days_of_retention': 5
|
||||
}
|
||||
)
|
||||
response = platform_admin_client.post(url_for(
|
||||
'main.add_data_retention',
|
||||
service_id=service_one['id']),
|
||||
data={'notification_type': "email", 'days_of_retention': 5}
|
||||
)
|
||||
assert response.status_code == 302
|
||||
settings_url = url_for(
|
||||
'main.data_retention', service_id=service_one['id'], _external=True)
|
||||
@@ -4484,17 +4484,19 @@ def test_add_service_data_retention(
|
||||
|
||||
|
||||
def test_update_service_data_retention(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
fake_uuid,
|
||||
mock_get_service_data_retention,
|
||||
mock_update_service_data_retention,
|
||||
):
|
||||
response = logged_in_platform_admin_client.post(url_for('main.edit_data_retention',
|
||||
service_id=service_one['id'],
|
||||
data_retention_id=str(fake_uuid)),
|
||||
data={'days_of_retention': 5}
|
||||
)
|
||||
response = platform_admin_client.post(
|
||||
url_for(
|
||||
'main.edit_data_retention',
|
||||
service_id=service_one['id'],
|
||||
data_retention_id=str(fake_uuid)),
|
||||
data={'days_of_retention': 5}
|
||||
)
|
||||
assert response.status_code == 302
|
||||
settings_url = url_for(
|
||||
'main.data_retention', service_id=service_one['id'], _external=True)
|
||||
@@ -4503,17 +4505,20 @@ def test_update_service_data_retention(
|
||||
|
||||
|
||||
def test_update_service_data_retention_return_validation_error_for_negative_days_of_retention(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
fake_uuid,
|
||||
mock_get_service_data_retention,
|
||||
mock_update_service_data_retention,
|
||||
):
|
||||
response = logged_in_platform_admin_client.post(url_for('main.edit_data_retention',
|
||||
service_id=service_one['id'],
|
||||
data_retention_id=fake_uuid),
|
||||
data={'days_of_retention': -5}
|
||||
)
|
||||
response = platform_admin_client.post(
|
||||
url_for(
|
||||
'main.edit_data_retention',
|
||||
service_id=service_one['id'],
|
||||
data_retention_id=fake_uuid
|
||||
),
|
||||
data={'days_of_retention': -5}
|
||||
)
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
error_message = page.find('span', class_='error-message').text.strip()
|
||||
@@ -4523,17 +4528,18 @@ def test_update_service_data_retention_return_validation_error_for_negative_days
|
||||
|
||||
|
||||
def test_update_service_data_retention_populates_form(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
service_one,
|
||||
fake_uuid,
|
||||
mock_get_service_data_retention,
|
||||
):
|
||||
|
||||
mock_get_service_data_retention.return_value[0]['days_of_retention'] = 5
|
||||
response = logged_in_platform_admin_client.get(url_for('main.edit_data_retention',
|
||||
service_id=service_one['id'],
|
||||
data_retention_id=fake_uuid)
|
||||
)
|
||||
response = platform_admin_client.get(url_for(
|
||||
'main.edit_data_retention',
|
||||
service_id=service_one['id'],
|
||||
data_retention_id=fake_uuid
|
||||
))
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
assert page.find('input', attrs={'name': 'days_of_retention'})['value'] == '5'
|
||||
|
||||
@@ -722,7 +722,7 @@ def test_should_let_letter_contact_block_be_changed_for_the_template(
|
||||
|
||||
|
||||
def test_should_show_page_template_with_priority_select_if_platform_admin(
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
platform_admin_user,
|
||||
mocker,
|
||||
mock_get_service_template,
|
||||
@@ -731,7 +731,7 @@ def test_should_show_page_template_with_priority_select_if_platform_admin(
|
||||
):
|
||||
mocker.patch('app.user_api_client.get_users_for_service', return_value=[platform_admin_user])
|
||||
template_id = fake_uuid
|
||||
response = logged_in_platform_admin_client.get(url_for(
|
||||
response = platform_admin_client.get(url_for(
|
||||
'.edit_service_template',
|
||||
service_id=service_one['id'],
|
||||
template_id=template_id,
|
||||
@@ -806,7 +806,7 @@ def test_dont_show_preview_letter_templates_for_bad_filetype(
|
||||
])
|
||||
def test_letter_branding_preview_image(
|
||||
mocker,
|
||||
logged_in_platform_admin_client,
|
||||
platform_admin_client,
|
||||
original_filename,
|
||||
new_filename,
|
||||
):
|
||||
@@ -814,7 +814,7 @@ def test_letter_branding_preview_image(
|
||||
'app.main.views.templates.TemplatePreview.from_example_template',
|
||||
return_value='foo'
|
||||
)
|
||||
resp = logged_in_platform_admin_client.get(
|
||||
resp = platform_admin_client.get(
|
||||
url_for('.letter_branding_preview_image', filename=original_filename)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user