Merge pull request #3101 from alphagov/billing-for-all-services-report

Usage for all services
This commit is contained in:
Leo Hemsted
2019-09-02 16:38:23 +01:00
committed by GitHub
18 changed files with 381 additions and 333 deletions
@@ -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}
)
+2 -2
View File
@@ -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(
+28 -28
View File
@@ -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
+8 -8
View File
@@ -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')
+46 -46
View File
@@ -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',
+2 -2
View File
@@ -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
+115 -139
View File
@@ -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}
)
+19 -19
View File
@@ -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,
+65 -59
View File
@@ -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'
+4 -4
View File
@@ -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)
)