diff --git a/app/main/views/notifications.py b/app/main/views/notifications.py index e880d6cec..92eeced7f 100644 --- a/app/main/views/notifications.py +++ b/app/main/views/notifications.py @@ -80,6 +80,7 @@ def view_notification(service_id, notification_id): estimated_letter_delivery_date=get_letter_timings(notification['created_at']).earliest_delivery, notification_id=notification['id'], can_receive_inbound=('inbound_sms' in current_service['permissions']), + is_precompiled_letter=notification['template']['is_precompiled_letter'] ) diff --git a/app/templates/views/notifications/notification.html b/app/templates/views/notifications/notification.html index 255a81239..1cbf956a0 100644 --- a/app/templates/views/notifications/notification.html +++ b/app/templates/views/notifications/notification.html @@ -15,12 +15,16 @@
- {% if help %} - {{ template.name }} + {% if is_precompiled_letter %} + Sent {% else %} - {{ template.name }} + {% if help %} + {{ template.name }} + {% else %} + {{ template.name }} + {% endif %} + sent {% endif %} - sent {% if job and job.original_file_name != 'Report' %} from {{ job.original_file_name }} diff --git a/tests/__init__.py b/tests/__init__.py index 20ca78664..357d94116 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -205,6 +205,7 @@ def template_json(service_id, service_letter_contact=None, reply_to=None, reply_to_text=None, + is_precompiled_letter=False, ): template = { 'id': id_, @@ -219,6 +220,7 @@ def template_json(service_id, 'service_letter_contact': service_letter_contact, 'reply_to': reply_to, 'reply_to_text': reply_to_text, + 'is_precompiled_letter': is_precompiled_letter, } if content is None: template['content'] = "template content" diff --git a/tests/app/main/views/test_notifications.py b/tests/app/main/views/test_notifications.py index 958c2827d..e77f2438b 100644 --- a/tests/app/main/views/test_notifications.py +++ b/tests/app/main/views/test_notifications.py @@ -277,3 +277,37 @@ def test_notification_page_has_link_to_download_letter( download_link = None assert download_link == expected_link(notification_id=fake_uuid) + + +@pytest.mark.parametrize('is_precompiled_letter, has_template_link', [ + (True, False), + (False, True), +]) +def test_notification_page_has_expected_template_link_for_letter( + client_request, + mocker, + fake_uuid, + service_one, + is_precompiled_letter, + has_template_link +): + + mock_get_notification( + mocker, fake_uuid, template_type='letter', is_precompiled_letter=is_precompiled_letter) + mocker.patch( + 'app.main.views.notifications.get_page_count_for_letter', + return_value=1 + ) + + page = client_request.get( + 'main.view_notification', + service_id=SERVICE_ONE_ID, + notification_id=fake_uuid, + ) + + link = page.select_one('main > p:nth-of-type(1) > a') + + if has_template_link: + assert link + else: + assert link is None diff --git a/tests/conftest.py b/tests/conftest.py index f1a2231f4..60de15b52 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2404,6 +2404,8 @@ def mock_get_notification( notification_status='delivered', redact_personalisation=False, template_type=None, + template_name='sample template', + is_precompiled_letter=False ): def _get_notification( service_id, @@ -2430,6 +2432,8 @@ def mock_get_notification( subject='blah', redact_personalisation=redact_personalisation, type_=template_type, + is_precompiled_letter=is_precompiled_letter, + name=template_name ) return noti