From 682cbc51304b007a9ee09104068feb64409069dd Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Tue, 1 Dec 2020 15:23:38 +0000 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20return=20jobs=20sent=20from=20c?= =?UTF-8?q?ontact=20lists?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Now that we’re grouping jobs sent from contact lists within their parent, they shouldn’t also be listed on the jobs page at the top level. The jobs page uses the uploads API, not the jobs API, so this commit makes sure that filtering is happening in the proper place. --- app/dao/uploads_dao.py | 3 ++- tests/app/dao/test_uploads_dao.py | 12 +++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/dao/uploads_dao.py b/app/dao/uploads_dao.py index 684fd1d57..f3175ffc4 100644 --- a/app/dao/uploads_dao.py +++ b/app/dao/uploads_dao.py @@ -43,7 +43,8 @@ def dao_get_uploads_by_service_id(service_id, limit_days=None, page=1, page_size Job.job_status.notin_([JOB_STATUS_CANCELLED, JOB_STATUS_SCHEDULED]), func.coalesce( Job.processing_started, Job.created_at - ) >= today - func.coalesce(ServiceDataRetention.days_of_retention, 7) + ) >= today - func.coalesce(ServiceDataRetention.days_of_retention, 7), + Job.contact_list_id.is_(None), ] if limit_days is not None: jobs_query_filter.append(Job.created_at >= midnight_n_days_ago(limit_days)) diff --git a/tests/app/dao/test_uploads_dao.py b/tests/app/dao/test_uploads_dao.py index 44de4415a..1156af95e 100644 --- a/tests/app/dao/test_uploads_dao.py +++ b/tests/app/dao/test_uploads_dao.py @@ -3,7 +3,14 @@ from freezegun import freeze_time from app.dao.uploads_dao import dao_get_uploads_by_service_id, dao_get_uploaded_letters_by_print_date from app.models import LETTER_TYPE, JOB_STATUS_IN_PROGRESS -from tests.app.db import create_job, create_service, create_service_data_retention, create_template, create_notification +from tests.app.db import ( + create_job, + create_service, + create_service_data_retention, + create_service_contact_list, + create_template, + create_notification, +) def create_uploaded_letter(letter_template, service, status='created', created_at=None): @@ -34,6 +41,9 @@ def create_uploaded_template(service): @freeze_time("2020-02-02 14:00") # GMT time def test_get_uploads_for_service(sample_template): create_service_data_retention(sample_template.service, 'sms', days_of_retention=9) + contact_list = create_service_contact_list() + # Jobs created from contact lists should be filtered out + create_job(sample_template, contact_list_id=contact_list.id) job = create_job(sample_template, processing_started=datetime.utcnow()) letter_template = create_uploaded_template(sample_template.service) letter = create_uploaded_letter(letter_template, sample_template.service)