mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-03 18:01:08 -05:00
Change DAO to return the notification from an update, not Boolean
- tests reflect this
This commit is contained in:
@@ -139,7 +139,7 @@ def _update_notification_status(notification, status):
|
||||
status = _decide_permanent_temporary_failure(current_status=notification.status, status=status)
|
||||
notification.status = status
|
||||
dao_update_notification(notification)
|
||||
return True
|
||||
return notification
|
||||
|
||||
|
||||
@statsd(namespace="dao")
|
||||
@@ -152,7 +152,7 @@ def update_notification_status_by_id(notification_id, status):
|
||||
Notification.status == 'pending')).first()
|
||||
|
||||
if not notification:
|
||||
return False
|
||||
return None
|
||||
|
||||
return _update_notification_status(
|
||||
notification=notification,
|
||||
@@ -169,7 +169,7 @@ def update_notification_status_by_reference(reference, status):
|
||||
Notification.status == 'pending')).first()
|
||||
|
||||
if not notification:
|
||||
return False
|
||||
return None
|
||||
|
||||
return _update_notification_status(
|
||||
notification=notification,
|
||||
|
||||
@@ -236,7 +236,8 @@ def test_should_by_able_to_update_status_by_reference(sample_email_template, ses
|
||||
notification.reference = 'reference'
|
||||
dao_update_notification(notification)
|
||||
|
||||
update_notification_status_by_reference('reference', 'delivered')
|
||||
updated = update_notification_status_by_reference('reference', 'delivered')
|
||||
assert updated.status == 'delivered'
|
||||
assert Notification.query.get(notification.id).status == 'delivered'
|
||||
|
||||
|
||||
@@ -249,8 +250,10 @@ def test_should_by_able_to_update_status_by_id(sample_template, sample_job, mmg_
|
||||
assert Notification.query.get(notification.id).status == 'sending'
|
||||
|
||||
with freeze_time('2000-01-02 12:00:00'):
|
||||
assert update_notification_status_by_id(notification.id, 'delivered')
|
||||
updated = update_notification_status_by_id(notification.id, 'delivered')
|
||||
|
||||
assert updated.status == 'delivered'
|
||||
assert updated.updated_at == datetime(2000, 1, 2, 12, 0, 0)
|
||||
assert Notification.query.get(notification.id).status == 'delivered'
|
||||
assert notification.updated_at == datetime(2000, 1, 2, 12, 0, 0)
|
||||
|
||||
@@ -264,10 +267,29 @@ def test_should_not_update_status_by_id_if_not_sending_and_does_not_update_job(n
|
||||
assert job == Job.query.get(notification.job_id)
|
||||
|
||||
|
||||
def test_should_update_status_if_created(notify_db, notify_db_session):
|
||||
def test_should_not_update_status_by_reference_if_not_sending_and_does_not_update_job(notify_db, notify_db_session):
|
||||
notification = sample_notification(notify_db, notify_db_session, status='delivered', reference='reference')
|
||||
job = Job.query.get(notification.job_id)
|
||||
assert Notification.query.get(notification.id).status == 'delivered'
|
||||
assert not update_notification_status_by_reference('reference', 'failed')
|
||||
assert Notification.query.get(notification.id).status == 'delivered'
|
||||
assert job == Job.query.get(notification.job_id)
|
||||
|
||||
|
||||
def test_should_update_status_by_id_if_created(notify_db, notify_db_session):
|
||||
notification = sample_notification(notify_db, notify_db_session, status='created')
|
||||
assert Notification.query.get(notification.id).status == 'created'
|
||||
assert update_notification_status_by_id(notification.id, 'failed')
|
||||
updated = update_notification_status_by_id(notification.id, 'failed')
|
||||
assert Notification.query.get(notification.id).status == 'failed'
|
||||
assert updated.status == 'failed'
|
||||
|
||||
|
||||
def test_should_not_update_status_by_reference_if_not_sending(notify_db, notify_db_session):
|
||||
notification = sample_notification(notify_db, notify_db_session, status='created', reference='reference')
|
||||
assert Notification.query.get(notification.id).status == 'created'
|
||||
updated = update_notification_status_by_reference('reference', 'failed')
|
||||
assert Notification.query.get(notification.id).status == 'created'
|
||||
assert not updated
|
||||
|
||||
|
||||
def test_should_by_able_to_update_status_by_id_from_pending_to_delivered(sample_template, sample_job):
|
||||
|
||||
Reference in New Issue
Block a user