mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-23 07:46:23 -04:00
Merge branch 'master' into convert-all-links-to-govuk-frontend
This commit is contained in:
@@ -51,8 +51,8 @@ def test_csrf_returns_400(logged_in_client, mocker):
|
||||
|
||||
assert response.status_code == 400
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
assert page.h1.string.strip() == 'Something went wrong, please go back and try again.'
|
||||
assert page.title.string.strip() == 'Bad request – GOV.UK Notify'
|
||||
assert page.h1.string.strip() == 'Sorry, there’s a problem with GOV.UK Notify'
|
||||
assert page.title.string.strip() == 'Sorry, there’s a problem with the service – GOV.UK Notify'
|
||||
|
||||
|
||||
def test_csrf_redirects_to_sign_in_page_if_not_signed_in(client, mocker):
|
||||
@@ -70,5 +70,5 @@ def test_405_returns_something_went_wrong_page(client, mocker):
|
||||
|
||||
assert response.status_code == 405
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
assert page.h1.string.strip() == 'Something went wrong, please go back and try again.'
|
||||
assert page.title.string.strip() == 'Bad request – GOV.UK Notify'
|
||||
assert page.h1.string.strip() == 'Sorry, there’s a problem with GOV.UK Notify'
|
||||
assert page.title.string.strip() == 'Sorry, there’s a problem with the service – GOV.UK Notify'
|
||||
|
||||
@@ -149,6 +149,7 @@ def test_accepting_invite_removes_invite_from_session(
|
||||
mock_get_billable_units,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
fake_uuid,
|
||||
user,
|
||||
landing_page_title,
|
||||
@@ -470,6 +471,7 @@ def test_new_invited_user_verifies_and_added_to_service(
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
mock_create_event,
|
||||
mocker,
|
||||
):
|
||||
|
||||
@@ -143,7 +143,8 @@ def test_get_started(
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
mocker.patch(
|
||||
'app.template_statistics_client.get_template_statistics_for_service',
|
||||
@@ -167,7 +168,8 @@ def test_get_started_is_hidden_once_templates_exist(
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
mocker.patch(
|
||||
'app.template_statistics_client.get_template_statistics_for_service',
|
||||
@@ -184,6 +186,7 @@ def test_get_started_is_hidden_once_templates_exist(
|
||||
|
||||
def test_inbound_messages_not_visible_to_service_without_permissions(
|
||||
client_request,
|
||||
mocker,
|
||||
service_one,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
@@ -191,7 +194,8 @@ def test_inbound_messages_not_visible_to_service_without_permissions(
|
||||
mock_get_template_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
|
||||
service_one['permissions'] = []
|
||||
@@ -216,6 +220,7 @@ def test_inbound_messages_shows_count_of_messages_when_there_are_messages(
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
service_one['permissions'] = ['inbound_sms']
|
||||
page = client_request.get(
|
||||
@@ -242,6 +247,7 @@ def test_inbound_messages_shows_count_of_messages_when_there_are_no_messages(
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary_with_no_messages,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
service_one['permissions'] = ['inbound_sms']
|
||||
page = client_request.get(
|
||||
@@ -472,6 +478,129 @@ def test_download_inbox_strips_formulae(
|
||||
assert expected_cell in response.get_data(as_text=True).split('\r\n')[1]
|
||||
|
||||
|
||||
def test_returned_letters_not_visible_if_service_has_no_returned_letters(
|
||||
client_request,
|
||||
mocker,
|
||||
service_one,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_get_service_statistics,
|
||||
mock_get_template_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
page = client_request.get(
|
||||
'main.service_dashboard',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
)
|
||||
assert not page.select('#total-returned-letters')
|
||||
|
||||
|
||||
@freeze_time('2020-01-10')
|
||||
def test_returned_letters_shows_count_of_recently_returned_letters(
|
||||
client_request,
|
||||
mocker,
|
||||
service_one,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_get_service_statistics,
|
||||
mock_get_template_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary,
|
||||
):
|
||||
mocker.patch(
|
||||
'app.service_api_client.get_returned_letter_summary',
|
||||
return_value=[
|
||||
# Today (should be counted)
|
||||
{
|
||||
'returned_letter_count': 1000, 'reported_at': '2020-01-10'
|
||||
},
|
||||
# Just within the last 7 days (should be counted)
|
||||
{
|
||||
'returned_letter_count': 3000, 'reported_at': '2020-01-3'
|
||||
},
|
||||
# Just after the last 7 days (should not be counted)
|
||||
{
|
||||
'returned_letter_count': 2000, 'reported_at': '2020-01-2'
|
||||
},
|
||||
],
|
||||
)
|
||||
page = client_request.get(
|
||||
'main.service_dashboard',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
)
|
||||
banner = page.select_one('#total-returned-letters')
|
||||
assert normalize_spaces(
|
||||
banner.text
|
||||
) == '4,000 returned letters latest report today'
|
||||
assert banner['href'] == url_for(
|
||||
'main.returned_letter_summary', service_id=SERVICE_ONE_ID
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('reporting_date, expected_message', (
|
||||
('2020-02-02', (
|
||||
'1 returned letter latest report today'
|
||||
)),
|
||||
('2020-02-01', (
|
||||
'1 returned letter latest report yesterday'
|
||||
)),
|
||||
('2020-01-31', (
|
||||
'1 returned letter latest report 2 days ago'
|
||||
)),
|
||||
('2020-01-26', (
|
||||
'1 returned letter latest report 7 days ago'
|
||||
)),
|
||||
('2020-01-25', (
|
||||
'0 returned letters latest report 8 days ago'
|
||||
)),
|
||||
('2020-01-01', (
|
||||
'0 returned letters latest report 1 month ago'
|
||||
)),
|
||||
('2019-09-09', (
|
||||
'0 returned letters latest report 4 months ago'
|
||||
)),
|
||||
('2010-10-10', (
|
||||
'0 returned letters latest report 9 years ago'
|
||||
)),
|
||||
))
|
||||
@freeze_time('2020-02-02')
|
||||
def test_returned_letters_only_counts_recently_returned_letters(
|
||||
client_request,
|
||||
mocker,
|
||||
service_one,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_get_service_statistics,
|
||||
mock_get_template_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary_with_no_messages,
|
||||
reporting_date,
|
||||
expected_message,
|
||||
):
|
||||
mocker.patch(
|
||||
'app.service_api_client.get_returned_letter_summary',
|
||||
return_value=[
|
||||
{
|
||||
'returned_letter_count': 1, 'reported_at': reporting_date
|
||||
},
|
||||
],
|
||||
)
|
||||
page = client_request.get(
|
||||
'main.service_dashboard',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
)
|
||||
banner = page.select_one('#total-returned-letters')
|
||||
assert normalize_spaces(banner.text) == expected_message
|
||||
assert banner['href'] == url_for(
|
||||
'main.returned_letter_summary', service_id=SERVICE_ONE_ID
|
||||
)
|
||||
|
||||
|
||||
def test_should_show_recent_templates_on_dashboard(
|
||||
client_request,
|
||||
mocker,
|
||||
@@ -480,7 +609,8 @@ def test_should_show_recent_templates_on_dashboard(
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
mock_template_stats = mocker.patch('app.template_statistics_client.get_template_statistics_for_service',
|
||||
return_value=copy.deepcopy(stub_template_stats))
|
||||
@@ -534,6 +664,7 @@ def test_should_not_show_recent_templates_on_dashboard_if_only_one_template_used
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
stats,
|
||||
):
|
||||
mock_template_stats = mocker.patch(
|
||||
@@ -687,7 +818,8 @@ def test_should_show_upcoming_jobs_on_dashboard(
|
||||
mock_get_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
page = client_request.get(
|
||||
'main.service_dashboard',
|
||||
@@ -738,6 +870,7 @@ def test_correct_font_size_for_big_numbers(
|
||||
mock_get_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
service_one,
|
||||
permissions,
|
||||
totals,
|
||||
@@ -773,7 +906,8 @@ def test_should_show_recent_jobs_on_dashboard(
|
||||
mock_get_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
page = client_request.get(
|
||||
'main.service_dashboard',
|
||||
@@ -981,6 +1115,7 @@ def test_menu_send_messages(
|
||||
mock_get_usage,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
service_one['permissions'] = ['email', 'sms', 'letter', 'upload_letters']
|
||||
|
||||
@@ -1039,6 +1174,7 @@ def test_menu_manage_service(
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
):
|
||||
with app_.test_request_context():
|
||||
@@ -1070,6 +1206,7 @@ def test_menu_manage_api_keys(
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
):
|
||||
with app_.test_request_context():
|
||||
@@ -1099,6 +1236,7 @@ def test_menu_all_services_for_platform_admin_user(
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
):
|
||||
with app_.test_request_context():
|
||||
@@ -1130,7 +1268,8 @@ def test_route_for_service_permissions(
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
with app_.test_request_context():
|
||||
validate_route_permission(
|
||||
@@ -1183,7 +1322,8 @@ def test_service_dashboard_updates_gets_dashboard_totals(
|
||||
mock_get_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
mocker.patch('app.main.views.dashboard.get_dashboard_totals', return_value={
|
||||
'email': {'requested': 123, 'delivered': 0, 'failed': 0},
|
||||
@@ -1368,6 +1508,7 @@ def test_should_show_all_jobs_with_valid_statuses(
|
||||
mock_get_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
):
|
||||
logged_in_client.get(url_for('main.service_dashboard', service_id=SERVICE_ONE_ID))
|
||||
@@ -1397,6 +1538,7 @@ def test_org_breadcrumbs_do_not_show_if_service_has_no_org(
|
||||
mock_get_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
page = client_request.get('main.service_dashboard', service_id=SERVICE_ONE_ID)
|
||||
|
||||
@@ -1411,6 +1553,7 @@ def test_org_breadcrumbs_do_not_show_if_user_is_not_an_org_member(
|
||||
active_caseworking_user,
|
||||
client_request,
|
||||
mock_get_template_folders,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
# active_caseworking_user is not an org member
|
||||
|
||||
@@ -1433,6 +1576,7 @@ def test_org_breadcrumbs_show_if_user_is_a_member_of_the_services_org(
|
||||
mock_get_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
active_user_with_permissions,
|
||||
client_request,
|
||||
):
|
||||
@@ -1460,6 +1604,7 @@ def test_org_breadcrumbs_do_not_show_if_user_is_a_member_of_the_services_org_but
|
||||
mock_get_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
active_user_with_permissions,
|
||||
client_request,
|
||||
):
|
||||
@@ -1484,6 +1629,7 @@ def test_org_breadcrumbs_show_if_user_is_platform_admin(
|
||||
mock_get_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
platform_admin_user,
|
||||
platform_admin_client,
|
||||
):
|
||||
@@ -1515,6 +1661,7 @@ def test_should_show_usage_on_dashboard(
|
||||
mock_get_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
permissions,
|
||||
):
|
||||
service_one['permissions'] = permissions
|
||||
|
||||
@@ -5,7 +5,7 @@ from bs4 import BeautifulSoup
|
||||
from flask import url_for
|
||||
|
||||
from app.main.forms import FieldWithNoneOption
|
||||
from tests.conftest import normalize_spaces, sample_uuid
|
||||
from tests.conftest import SERVICE_ONE_ID, normalize_spaces, sample_uuid
|
||||
|
||||
|
||||
def test_non_logged_in_user_can_see_homepage(
|
||||
@@ -109,6 +109,34 @@ def test_static_pages(
|
||||
request()
|
||||
|
||||
|
||||
def test_guidance_pages_link_to_service_pages_when_signed_in(
|
||||
client_request,
|
||||
):
|
||||
request = partial(client_request.get, 'main.edit_and_format_messages')
|
||||
selector = '.list-number li a'
|
||||
|
||||
# Check the page loads when user is signed in
|
||||
page = request()
|
||||
assert page.select_one(selector)['href'] == url_for(
|
||||
'main.choose_template',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
)
|
||||
|
||||
# Check it still works when they don’t have a recent service
|
||||
with client_request.session_transaction() as session:
|
||||
session['service_id'] = None
|
||||
page = request()
|
||||
assert not page.select_one(selector)
|
||||
|
||||
# Check it still works when they sign out
|
||||
client_request.logout()
|
||||
with client_request.session_transaction() as session:
|
||||
session['service_id'] = None
|
||||
session['user_id'] = None
|
||||
page = request()
|
||||
assert not page.select_one(selector)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('view, expected_view', [
|
||||
('information_risk_management', 'security'),
|
||||
('old_integration_testing', 'integration_testing'),
|
||||
|
||||
@@ -152,22 +152,43 @@ def test_notification_status_shows_expected_back_link(
|
||||
assert back_link is None
|
||||
|
||||
|
||||
@freeze_time("2012-01-01 01:01")
|
||||
@pytest.mark.parametrize('time_of_viewing_page, expected_message', (
|
||||
('2012-01-01 01:01', (
|
||||
"‘sample template’ was sent by Test User today at 1:01am"
|
||||
)),
|
||||
('2012-01-02 01:01', (
|
||||
"‘sample template’ was sent by Test User yesterday at 1:01am"
|
||||
)),
|
||||
('2012-01-03 01:01', (
|
||||
"‘sample template’ was sent by Test User on 1 January at 1:01am"
|
||||
)),
|
||||
('2013-01-03 01:01', (
|
||||
"‘sample template’ was sent by Test User on 1 January 2012 at 1:01am"
|
||||
)),
|
||||
))
|
||||
def test_notification_page_doesnt_link_to_template_in_tour(
|
||||
mocker,
|
||||
client_request,
|
||||
fake_uuid,
|
||||
mock_get_notification,
|
||||
time_of_viewing_page,
|
||||
expected_message,
|
||||
):
|
||||
|
||||
page = client_request.get(
|
||||
'main.view_notification',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
notification_id=fake_uuid,
|
||||
help=3,
|
||||
)
|
||||
with freeze_time('2012-01-01 01:01'):
|
||||
notification = create_notification()
|
||||
mocker.patch('app.notification_api_client.get_notification', return_value=notification)
|
||||
|
||||
with freeze_time(time_of_viewing_page):
|
||||
page = client_request.get(
|
||||
'main.view_notification',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
notification_id=fake_uuid,
|
||||
help=3,
|
||||
)
|
||||
|
||||
assert normalize_spaces(page.select('main p:nth-of-type(1)')[0].text) == (
|
||||
"‘sample template’ was sent by Test User on 1 January at 1:01am"
|
||||
expected_message
|
||||
)
|
||||
assert len(page.select('main p:nth-of-type(1) a')) == 0
|
||||
|
||||
@@ -196,13 +217,13 @@ def test_notification_page_shows_page_for_letter_notification(
|
||||
)
|
||||
|
||||
assert normalize_spaces(page.select('main p:nth-of-type(1)')[0].text) == (
|
||||
"‘sample template’ was sent by Test User on 1 January at 1:01am"
|
||||
"‘sample template’ was sent by Test User today at 1:01am"
|
||||
)
|
||||
assert normalize_spaces(page.select('main p:nth-of-type(2)')[0].text) == (
|
||||
'Printing starts today at 5:30pm'
|
||||
)
|
||||
assert normalize_spaces(page.select('main p:nth-of-type(3)')[0].text) == (
|
||||
'Estimated delivery date: 6 January'
|
||||
'Estimated delivery date: Wednesday 6 January'
|
||||
)
|
||||
assert len(page.select('.letter-postage')) == 1
|
||||
assert normalize_spaces(page.select_one('.letter-postage').text) == (
|
||||
@@ -226,17 +247,62 @@ def test_notification_page_shows_page_for_letter_notification(
|
||||
assert mock_page_count.call_args_list[0][1]['values'] == {'name': 'Jo'}
|
||||
|
||||
|
||||
@freeze_time("2020-01-01 00:00")
|
||||
def test_notification_page_shows_uploaded_letter(
|
||||
client_request,
|
||||
mocker,
|
||||
fake_uuid,
|
||||
):
|
||||
mocker.patch(
|
||||
'app.main.views.notifications.view_letter_notification_as_preview',
|
||||
return_value=(b'foo', {
|
||||
'message': '',
|
||||
'invalid_pages': '[]',
|
||||
'page_count': '1'
|
||||
})
|
||||
)
|
||||
mocker.patch(
|
||||
'app.main.views.notifications.pdf_page_count',
|
||||
return_value=1
|
||||
)
|
||||
mocker.patch(
|
||||
'app.main.views.notifications.get_page_count_for_letter',
|
||||
return_value=1,
|
||||
)
|
||||
|
||||
notification = create_notification(
|
||||
notification_status='created',
|
||||
template_type='letter',
|
||||
is_precompiled_letter=True,
|
||||
sent_one_off=True,
|
||||
)
|
||||
mocker.patch('app.notification_api_client.get_notification', return_value=notification)
|
||||
|
||||
page = client_request.get(
|
||||
'main.view_notification',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
notification_id=fake_uuid,
|
||||
)
|
||||
|
||||
assert normalize_spaces(page.select('main p:nth-of-type(1)')[0].text) == (
|
||||
'Uploaded by Test User yesterday at midnight'
|
||||
)
|
||||
assert normalize_spaces(page.select('main p:nth-of-type(2)')[0].text) == (
|
||||
'Printing starts today at 5:30pm'
|
||||
)
|
||||
|
||||
|
||||
@freeze_time("2016-01-01 01:01")
|
||||
@pytest.mark.parametrize('is_precompiled_letter, expected_p1, expected_p2, expected_postage', (
|
||||
(
|
||||
True,
|
||||
'Provided as PDF on 1 January at 1:01am',
|
||||
'Provided as PDF today at 1:01am',
|
||||
'This letter passed our checks, but we will not print it because you used a test key.',
|
||||
'Postage: second class'
|
||||
),
|
||||
(
|
||||
False,
|
||||
'‘sample template’ was sent on 1 January at 1:01am',
|
||||
'‘sample template’ was sent today at 1:01am',
|
||||
'We will not print this letter because you used a test key.',
|
||||
'Postage: second class',
|
||||
),
|
||||
@@ -377,7 +443,7 @@ def test_notification_page_shows_cancelled_or_failed_letter(
|
||||
)
|
||||
|
||||
assert normalize_spaces(page.select('main p')[0].text) == (
|
||||
"‘sample template’ was sent by Test User on 1 January at 1:01am"
|
||||
"‘sample template’ was sent by Test User today at 1:01am"
|
||||
)
|
||||
assert normalize_spaces(page.select('main p')[1].text) == (
|
||||
expected_message
|
||||
@@ -473,7 +539,9 @@ def test_notification_page_shows_page_for_first_class_letter_notification(
|
||||
)
|
||||
|
||||
assert normalize_spaces(page.select('main p:nth-of-type(2)')[0].text) == 'Printing starts tomorrow at 5:30pm'
|
||||
assert normalize_spaces(page.select('main p:nth-of-type(3)')[0].text) == 'Estimated delivery date: 5 January'
|
||||
assert normalize_spaces(page.select('main p:nth-of-type(3)')[0].text) == (
|
||||
'Estimated delivery date: Tuesday 5 January'
|
||||
)
|
||||
assert normalize_spaces(page.select_one('.letter-postage').text) == (
|
||||
'Postage: first class'
|
||||
)
|
||||
|
||||
@@ -88,12 +88,12 @@ def test_returned_letters_page(
|
||||
|
||||
assert [
|
||||
'Template name Originally sent',
|
||||
'Example template Reference ABC123 Originally sent 24 December 2019',
|
||||
'Example template Sent from Example spreadsheet.xlsx Originally sent 24 December 2019',
|
||||
'Example template No reference provided Originally sent 24 December 2019',
|
||||
'Example precompiled.pdf Reference DEF456 Originally sent 24 December 2019',
|
||||
'Example one-off.pdf No reference provided Originally sent 24 December 2019',
|
||||
'Provided as PDF Reference XYZ999 Originally sent 24 December 2019',
|
||||
'Example template Reference ABC123 Sent 24 December 2019',
|
||||
'Example template Sent from Example spreadsheet.xlsx Sent 24 December 2019',
|
||||
'Example template No reference provided Sent 24 December 2019',
|
||||
'Example precompiled.pdf Reference DEF456 Sent 24 December 2019',
|
||||
'Example one-off.pdf No reference provided Sent 24 December 2019',
|
||||
'Provided as PDF Reference XYZ999 Sent 24 December 2019',
|
||||
] == [
|
||||
normalize_spaces(row.text) for row in page.select('tr')
|
||||
]
|
||||
|
||||
@@ -31,6 +31,7 @@ def test_sign_out_user(
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_summary_with_no_returned_letters,
|
||||
):
|
||||
with client_request.session_transaction() as session:
|
||||
assert session.get('user_id') is not None
|
||||
|
||||
@@ -504,6 +504,7 @@ def test_uploaded_letter_preview_image_400s_for_bad_page_type(
|
||||
file_id=fake_uuid,
|
||||
service_id=SERVICE_ONE_ID,
|
||||
page='foo',
|
||||
_test_page_title=False,
|
||||
_expected_status=400,
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user