mirror of
https://github.com/GSA/notifications-api.git
synced 2026-09-02 17:48:36 -04:00
add tests for new test-key handling
This commit is contained in:
@@ -836,13 +836,16 @@ def test_get_notification_by_id(notify_db, notify_db_session, sample_template):
|
||||
assert notification_from_db.scheduled_notification.scheduled_for == datetime(2017, 5, 5, 14, 15)
|
||||
|
||||
|
||||
def test_get_notifications_by_reference(notify_db, notify_db_session, sample_service):
|
||||
def test_get_notifications_by_reference(sample_template):
|
||||
client_reference = 'some-client-ref'
|
||||
assert len(Notification.query.all()) == 0
|
||||
sample_notification(notify_db, notify_db_session, client_reference=client_reference)
|
||||
sample_notification(notify_db, notify_db_session, client_reference=client_reference)
|
||||
sample_notification(notify_db, notify_db_session, client_reference='other-ref')
|
||||
all_notifications = get_notifications_for_service(sample_service.id, client_reference=client_reference).items
|
||||
create_notification(sample_template, client_reference=client_reference)
|
||||
create_notification(sample_template, client_reference=client_reference)
|
||||
create_notification(sample_template, client_reference='other-ref')
|
||||
all_notifications = get_notifications_for_service(
|
||||
sample_template.service_id,
|
||||
client_reference=client_reference
|
||||
).items
|
||||
assert len(all_notifications) == 2
|
||||
|
||||
|
||||
@@ -1066,22 +1069,22 @@ def test_should_not_delete_notification_history(notify_db, notify_db_session, sa
|
||||
|
||||
|
||||
@freeze_time("2016-01-10")
|
||||
def test_should_limit_notifications_return_by_day_limit_plus_one(notify_db, notify_db_session, sample_service):
|
||||
def test_should_limit_notifications_return_by_day_limit_plus_one(sample_template):
|
||||
assert len(Notification.query.all()) == 0
|
||||
|
||||
# create one notification a day between 1st and 9th
|
||||
for i in range(1, 11):
|
||||
past_date = '2016-01-{0:02d}'.format(i)
|
||||
with freeze_time(past_date):
|
||||
sample_notification(notify_db, notify_db_session, created_at=datetime.utcnow(), status="failed")
|
||||
create_notification(sample_template, created_at=datetime.utcnow(), status="failed")
|
||||
|
||||
all_notifications = Notification.query.all()
|
||||
assert len(all_notifications) == 10
|
||||
|
||||
all_notifications = get_notifications_for_service(sample_service.id, limit_days=10).items
|
||||
all_notifications = get_notifications_for_service(sample_template.service_id, limit_days=10).items
|
||||
assert len(all_notifications) == 10
|
||||
|
||||
all_notifications = get_notifications_for_service(sample_service.id, limit_days=1).items
|
||||
all_notifications = get_notifications_for_service(sample_template.service_id, limit_days=1).items
|
||||
assert len(all_notifications) == 2
|
||||
|
||||
|
||||
@@ -1302,42 +1305,20 @@ def test_dao_timeout_notifications_doesnt_affect_letters(sample_letter_template)
|
||||
assert updated == 0
|
||||
|
||||
|
||||
def test_should_return_notifications_excluding_jobs_by_default(notify_db, notify_db_session, sample_service):
|
||||
assert len(Notification.query.all()) == 0
|
||||
def test_should_return_notifications_excluding_jobs_by_default(sample_template, sample_job, sample_api_key):
|
||||
with_job = create_notification(sample_template, job=sample_job)
|
||||
without_job = create_notification(sample_template, api_key_id=sample_api_key.id)
|
||||
|
||||
job = sample_job(notify_db, notify_db_session)
|
||||
with_job = sample_notification(
|
||||
notify_db, notify_db_session, created_at=datetime.utcnow(), status="delivered", job=job
|
||||
)
|
||||
without_job = sample_notification(
|
||||
notify_db, notify_db_session, created_at=datetime.utcnow(), status="delivered"
|
||||
)
|
||||
include_jobs = get_notifications_for_service(sample_template.service_id, include_jobs=True).items
|
||||
assert len(include_jobs) == 2
|
||||
|
||||
all_notifications = Notification.query.all()
|
||||
assert len(all_notifications) == 2
|
||||
exclude_jobs_by_default = get_notifications_for_service(sample_template.service_id).items
|
||||
assert len(exclude_jobs_by_default) == 1
|
||||
assert exclude_jobs_by_default[0].id == without_job.id
|
||||
|
||||
all_notifications = get_notifications_for_service(sample_service.id).items
|
||||
assert len(all_notifications) == 1
|
||||
assert all_notifications[0].id == without_job.id
|
||||
|
||||
|
||||
def test_should_return_notifications_including_jobs(notify_db, notify_db_session, sample_service):
|
||||
assert len(Notification.query.all()) == 0
|
||||
|
||||
job = sample_job(notify_db, notify_db_session)
|
||||
with_job = sample_notification(
|
||||
notify_db, notify_db_session, created_at=datetime.utcnow(), status="delivered", job=job
|
||||
)
|
||||
|
||||
all_notifications = Notification.query.all()
|
||||
assert len(all_notifications) == 1
|
||||
|
||||
all_notifications = get_notifications_for_service(sample_service.id).items
|
||||
assert len(all_notifications) == 0
|
||||
|
||||
all_notifications = get_notifications_for_service(sample_service.id, limit_days=1, include_jobs=True).items
|
||||
assert len(all_notifications) == 1
|
||||
assert all_notifications[0].id == with_job.id
|
||||
exclude_jobs_manually = get_notifications_for_service(sample_template.service_id, include_jobs=False).items
|
||||
assert len(exclude_jobs_manually) == 1
|
||||
assert exclude_jobs_manually[0].id == without_job.id
|
||||
|
||||
|
||||
def test_get_notifications_created_by_api_or_csv_are_returned_correctly_excluding_test_key_notifications(
|
||||
|
||||
Reference in New Issue
Block a user