Display cancelled letters show as failed

In the long term, we don't want to show cancelled letters. But for now,
this changes cancelled letters to display in the same way that letters
with a status of permanent-failure, since we are currently giving
letters that we want to cancel the status of permanent failure.
This commit is contained in:
Katie Smith
2018-12-04 15:07:20 +00:00
parent 1ee972bd04
commit 429a23934d
8 changed files with 19 additions and 8 deletions

View File

@@ -373,6 +373,7 @@ def format_notification_status(status, template_type):
'pending-virus-check': 'Pending virus check',
'virus-scan-failed': 'Virus detected',
'returned-letter': 'Delivered',
'cancelled': 'Cancelled,'
}
}[template_type].get(status, status)
@@ -398,6 +399,7 @@ def format_notification_status_as_field_status(status, notification_type):
'pending-virus-check': None,
'virus-scan-failed': 'error',
'returned-letter': None,
'cancelled': 'error',
}
}.get(
notification_type,

View File

@@ -25,7 +25,8 @@ class JobApiClient(NotifyAdminAPIClient):
def __convert_statistics(job):
results = defaultdict(int)
for outcome in job['statistics']:
if outcome['status'] in ['failed', 'technical-failure', 'temporary-failure', 'permanent-failure']:
if outcome['status'] in ['failed', 'technical-failure', 'temporary-failure',
'permanent-failure', 'cancelled']:
results['failed'] += outcome['count']
if outcome['status'] in ['sending', 'pending', 'created']:
results['sending'] += outcome['count']

View File

@@ -162,7 +162,7 @@
notification.template.template_type
) }}
{% endif %}
{% if notification.notification_type == "letter" and notification.status in ['permanent-failure', 'validation-failed'] %}
{% if notification.notification_type == "letter" and notification.status in ['permanent-failure', 'validation-failed', 'cancelled'] %}
Cancelled
{% endif %}
{% if notification.status|format_notification_status_as_url(notification.notification_type) %}

View File

@@ -37,7 +37,7 @@
</p>
{% if template.template_type == 'letter' %}
{% if notification_status == 'permanent-failure' %}
{% if notification_status in ('permanent-failure', 'cancelled') %}
<p class="notification-status-cancelled">
Cancelled {{ updated_at|format_datetime_short }}
</p>

View File

@@ -39,7 +39,8 @@ from werkzeug.datastructures import MultiDict
SENDING_STATUSES = ['created', 'pending', 'sending', 'pending-virus-check']
DELIVERED_STATUSES = ['delivered', 'sent', 'returned-letter']
FAILURE_STATUSES = ['failed', 'temporary-failure', 'permanent-failure', 'technical-failure', 'virus-scan-failed']
FAILURE_STATUSES = ['failed', 'temporary-failure', 'permanent-failure',
'technical-failure', 'virus-scan-failed', 'cancelled']
REQUESTED_STATUSES = SENDING_STATUSES + DELIVERED_STATUSES + FAILURE_STATUSES

View File

@@ -52,7 +52,8 @@ from tests.conftest import (
[
'created', 'pending', 'sending', 'pending-virus-check',
'delivered', 'sent', 'returned-letter',
'failed', 'temporary-failure', 'permanent-failure', 'technical-failure', 'virus-scan-failed',
'failed', 'temporary-failure', 'permanent-failure', 'technical-failure',
'virus-scan-failed', 'cancelled',
]
),
(
@@ -65,7 +66,7 @@ from tests.conftest import (
),
(
'failed',
['failed', 'temporary-failure', 'permanent-failure', 'technical-failure', 'virus-scan-failed']
['failed', 'temporary-failure', 'permanent-failure', 'technical-failure', 'virus-scan-failed', 'cancelled']
)
]
)

View File

@@ -156,7 +156,8 @@ def test_jobs_page_doesnt_show_scheduled_on_page_2(
[
'created', 'pending', 'sending', 'pending-virus-check',
'delivered', 'sent', 'returned-letter',
'failed', 'temporary-failure', 'permanent-failure', 'technical-failure', 'virus-scan-failed',
'failed', 'temporary-failure', 'permanent-failure', 'technical-failure',
'virus-scan-failed', 'cancelled',
]
),
(
@@ -169,7 +170,7 @@ def test_jobs_page_doesnt_show_scheduled_on_page_2(
),
(
'failed',
['failed', 'temporary-failure', 'permanent-failure', 'technical-failure', 'virus-scan-failed']
['failed', 'temporary-failure', 'permanent-failure', 'technical-failure', 'virus-scan-failed', 'cancelled']
)
]
)
@@ -339,6 +340,7 @@ def test_should_show_letter_job(
'permanent-failure',
'technical-failure',
'virus-scan-failed',
'cancelled',
],
)

View File

@@ -195,6 +195,10 @@ def test_notification_page_shows_page_for_letter_notification(
'permanent-failure',
'Cancelled 1 January at 1:02am',
),
(
'cancelled',
'Cancelled 1 January at 1:02am',
),
(
'validation-failed',
'Cancelled 1 January at 1:02am (letter has content outside the printable area)',