mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-23 15:56:45 -04:00
Allow international letters to be cancelled
Our code was assuming that any notifications with `international` set to `True` were text messages. It was then trying to look up delivery information for a notification which wasn’t sent to a phone number, causing an exception.
This commit is contained in:
@@ -140,7 +140,11 @@ def update_notification_status_by_id(notification_id, status, sent_by=None, deta
|
|||||||
_duplicate_update_warning(notification, status)
|
_duplicate_update_warning(notification, status)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
if notification.international and not country_records_delivery(notification.phone_prefix):
|
if (
|
||||||
|
notification.notification_type == 'sms'
|
||||||
|
and notification.international
|
||||||
|
and not country_records_delivery(notification.phone_prefix)
|
||||||
|
):
|
||||||
return None
|
return None
|
||||||
if not notification.sent_by and sent_by:
|
if not notification.sent_by and sent_by:
|
||||||
notification.sent_by = sent_by
|
notification.sent_by = sent_by
|
||||||
|
|||||||
@@ -122,6 +122,17 @@ def test_should_update_status_by_id_if_pending_virus_check(sample_letter_templat
|
|||||||
assert updated.status == 'cancelled'
|
assert updated.status == 'cancelled'
|
||||||
|
|
||||||
|
|
||||||
|
def test_should_update_status_of_international_letter_to_cancelled(sample_letter_template):
|
||||||
|
notification = create_notification(
|
||||||
|
template=sample_letter_template,
|
||||||
|
international=True,
|
||||||
|
postage='europe',
|
||||||
|
)
|
||||||
|
assert Notification.query.get(notification.id).international is True
|
||||||
|
update_notification_status_by_id(notification.id, 'cancelled')
|
||||||
|
assert Notification.query.get(notification.id).status == 'cancelled'
|
||||||
|
|
||||||
|
|
||||||
def test_should_update_status_by_id_and_set_sent_by(sample_template):
|
def test_should_update_status_by_id_and_set_sent_by(sample_template):
|
||||||
notification = create_notification(template=sample_template, status='sending')
|
notification = create_notification(template=sample_template, status='sending')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user