mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-23 17:01:35 -05:00
Add more tests for scheduled job stats
Ensures we don’t count jobs that are in a different status, or belong to another service.
This commit is contained in:
@@ -17,7 +17,9 @@ from tests.app.db import (
|
||||
create_ft_notification_status,
|
||||
create_job,
|
||||
create_notification,
|
||||
create_service_contact_list
|
||||
create_service,
|
||||
create_service_contact_list,
|
||||
create_template,
|
||||
)
|
||||
|
||||
|
||||
@@ -928,18 +930,37 @@ def test_get_scheduled_job_stats_when_no_scheduled_jobs(admin_request, sample_te
|
||||
|
||||
|
||||
@freeze_time('2017-07-17 07:17')
|
||||
def test_get_scheduled_job_stats(admin_request, sample_template):
|
||||
create_job(sample_template, job_status='scheduled', scheduled_for='2017-07-17 09:00')
|
||||
create_job(sample_template, job_status='scheduled', scheduled_for='2017-07-17 10:00')
|
||||
create_job(sample_template, job_status='scheduled', scheduled_for='2017-07-17 11:00')
|
||||
def test_get_scheduled_job_stats(admin_request):
|
||||
|
||||
service_id = sample_template.service.id
|
||||
service_1 = create_service(service_name='service 1')
|
||||
service_1_template = create_template(service=service_1)
|
||||
service_2 = create_service(service_name='service 2')
|
||||
service_2_template = create_template(service=service_2)
|
||||
|
||||
resp_json = admin_request.get(
|
||||
# Shouldn’t be counted – wrong status
|
||||
create_job(service_1_template, job_status='finished', scheduled_for='2017-07-17 07:00')
|
||||
create_job(service_1_template, job_status='in progress', scheduled_for='2017-07-17 08:00')
|
||||
|
||||
# Should be counted – service 1
|
||||
create_job(service_1_template, job_status='scheduled', scheduled_for='2017-07-17 09:00')
|
||||
create_job(service_1_template, job_status='scheduled', scheduled_for='2017-07-17 10:00')
|
||||
create_job(service_1_template, job_status='scheduled', scheduled_for='2017-07-17 11:00')
|
||||
|
||||
# Should be counted – service 2
|
||||
create_job(service_2_template, job_status='scheduled', scheduled_for='2017-07-17 11:00')
|
||||
|
||||
assert admin_request.get(
|
||||
'job.get_scheduled_job_stats',
|
||||
service_id=service_id,
|
||||
)
|
||||
assert resp_json == {
|
||||
service_id=service_1.id,
|
||||
) == {
|
||||
'count': 3,
|
||||
'soonest_scheduled_for': '2017-07-17T09:00:00+00:00',
|
||||
}
|
||||
|
||||
assert admin_request.get(
|
||||
'job.get_scheduled_job_stats',
|
||||
service_id=service_2.id,
|
||||
) == {
|
||||
'count': 1,
|
||||
'soonest_scheduled_for': '2017-07-17T11:00:00+00:00',
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user