mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-23 07:46:06 -04:00
Group 'completed' notification statuses
Some notification statuses assume that a notification has been updated (ie, it cannot have been created in that state). This caused a bug in our sample notification fixture when trying to create a notificaiton in a 'complete' status. This commit groups the completed statuses in a list, the way other statuses have been grouped together so that they're more portable. Also fixed the sample_notification fixture.
This commit is contained in:
@@ -466,6 +466,14 @@ NOTIFICATION_TECHNICAL_FAILURE = 'technical-failure'
|
|||||||
NOTIFICATION_TEMPORARY_FAILURE = 'temporary-failure'
|
NOTIFICATION_TEMPORARY_FAILURE = 'temporary-failure'
|
||||||
NOTIFICATION_PERMANENT_FAILURE = 'permanent-failure'
|
NOTIFICATION_PERMANENT_FAILURE = 'permanent-failure'
|
||||||
|
|
||||||
|
NOTIFICATION_STATUS_TYPES_COMPLETED = [
|
||||||
|
NOTIFICATION_DELIVERED,
|
||||||
|
NOTIFICATION_FAILED,
|
||||||
|
NOTIFICATION_TECHNICAL_FAILURE,
|
||||||
|
NOTIFICATION_TEMPORARY_FAILURE,
|
||||||
|
NOTIFICATION_PERMANENT_FAILURE,
|
||||||
|
]
|
||||||
|
|
||||||
NOTIFICATION_STATUS_TYPES_BILLABLE = [
|
NOTIFICATION_STATUS_TYPES_BILLABLE = [
|
||||||
NOTIFICATION_SENDING,
|
NOTIFICATION_SENDING,
|
||||||
NOTIFICATION_DELIVERED,
|
NOTIFICATION_DELIVERED,
|
||||||
@@ -545,13 +553,7 @@ class Notification(db.Model):
|
|||||||
self._personalisation = encryption.encrypt(personalisation)
|
self._personalisation = encryption.encrypt(personalisation)
|
||||||
|
|
||||||
def completed_at(self):
|
def completed_at(self):
|
||||||
if self.status in [
|
if self.status in NOTIFICATION_STATUS_TYPES_COMPLETED:
|
||||||
NOTIFICATION_DELIVERED,
|
|
||||||
NOTIFICATION_FAILED,
|
|
||||||
NOTIFICATION_TECHNICAL_FAILURE,
|
|
||||||
NOTIFICATION_TEMPORARY_FAILURE,
|
|
||||||
NOTIFICATION_PERMANENT_FAILURE,
|
|
||||||
]:
|
|
||||||
return self.updated_at.strftime(DATETIME_FORMAT)
|
return self.updated_at.strftime(DATETIME_FORMAT)
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ from app.models import (
|
|||||||
NotificationStatistics,
|
NotificationStatistics,
|
||||||
ServiceWhitelist,
|
ServiceWhitelist,
|
||||||
KEY_TYPE_NORMAL, KEY_TYPE_TEST, KEY_TYPE_TEAM,
|
KEY_TYPE_NORMAL, KEY_TYPE_TEST, KEY_TYPE_TEAM,
|
||||||
MOBILE_TYPE, EMAIL_TYPE)
|
MOBILE_TYPE, EMAIL_TYPE, NOTIFICATION_STATUS_TYPES_COMPLETED)
|
||||||
from app.dao.users_dao import (save_model_user, create_user_code, create_secret_code)
|
from app.dao.users_dao import (save_model_user, create_user_code, create_secret_code)
|
||||||
from app.dao.services_dao import (dao_create_service, dao_add_user_to_service)
|
from app.dao.services_dao import (dao_create_service, dao_add_user_to_service)
|
||||||
from app.dao.templates_dao import dao_create_template
|
from app.dao.templates_dao import dao_create_template
|
||||||
@@ -444,7 +444,8 @@ def sample_notification(notify_db,
|
|||||||
'notification_type': template.template_type,
|
'notification_type': template.template_type,
|
||||||
'api_key_id': api_key_id,
|
'api_key_id': api_key_id,
|
||||||
'key_type': key_type,
|
'key_type': key_type,
|
||||||
'sent_by': sent_by
|
'sent_by': sent_by,
|
||||||
|
'updated_at': created_at if status in NOTIFICATION_STATUS_TYPES_COMPLETED else None
|
||||||
}
|
}
|
||||||
if job_row_number:
|
if job_row_number:
|
||||||
data['job_row_number'] = job_row_number
|
data['job_row_number'] = job_row_number
|
||||||
|
|||||||
Reference in New Issue
Block a user