From 4cee47da68b20b57a0b876eaddade016c9ad79cc Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Mon, 28 Sep 2020 13:15:39 +0100 Subject: [PATCH] Add more tests for scheduled job stats MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ensures we don’t count jobs that are in a different status, or belong to another service. --- tests/app/job/test_rest.py | 41 ++++++++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/tests/app/job/test_rest.py b/tests/app/job/test_rest.py index 9144cf68c..af6fd0524 100644 --- a/tests/app/job/test_rest.py +++ b/tests/app/job/test_rest.py @@ -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', + }