From 78d071f22fc292bf35ce8601ef3061c5562bbd08 Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Thu, 1 Jun 2017 09:35:13 +0100 Subject: [PATCH 1/2] Ignore one-off messages in job list on dashboard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same as how we ignore ‘send yourself a test’ messages (see: d8467bfc3cdca0f7dcd019f93ca20d981ef28760). The dashboard gets clogged up with one off messages otherwise, which affects: - performance - users ability to find their jobs --- app/config.py | 1 + app/dao/jobs_dao.py | 3 ++- tests/app/dao/test_jobs_dao.py | 16 ++++++++++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/config.py b/app/config.py index f2cd39cdb..4bb5d030a 100644 --- a/app/config.py +++ b/app/config.py @@ -107,6 +107,7 @@ class Config(object): SMS_CHAR_COUNT_LIMIT = 495 BRANDING_PATH = '/images/email-template/crests/' TEST_MESSAGE_FILENAME = 'Test message' + ONE_OFF_MESSAGE_FILENAME = 'One-off message' MAX_VERIFY_CODE_COUNT = 10 NOTIFY_SERVICE_ID = 'd6aa2c68-a2d9-4437-ab19-3ae8eb202553' diff --git a/app/dao/jobs_dao.py b/app/dao/jobs_dao.py index b712b0e70..d2ec8c367 100644 --- a/app/dao/jobs_dao.py +++ b/app/dao/jobs_dao.py @@ -53,7 +53,8 @@ def dao_get_job_by_service_id_and_job_id(service_id, job_id): def dao_get_jobs_by_service_id(service_id, limit_days=None, page=1, page_size=50, statuses=None): query_filter = [ Job.service_id == service_id, - Job.original_file_name != current_app.config['TEST_MESSAGE_FILENAME'] + Job.original_file_name != current_app.config['TEST_MESSAGE_FILENAME'], + Job.original_file_name != current_app.config['ONE_OFF_MESSAGE_FILENAME'], ] if limit_days is not None: query_filter.append(cast(Job.created_at, sql_date) >= days_ago(limit_days)) diff --git a/tests/app/dao/test_jobs_dao.py b/tests/app/dao/test_jobs_dao.py index 034048a32..3ee8e733b 100644 --- a/tests/app/dao/test_jobs_dao.py +++ b/tests/app/dao/test_jobs_dao.py @@ -1,5 +1,6 @@ from datetime import datetime, timedelta from functools import partial +import pytest import uuid from freezegun import freeze_time @@ -334,13 +335,24 @@ def test_get_jobs_for_service_is_paginated(notify_db, notify_db_session, sample_ assert res.items[1].created_at == datetime(2015, 1, 1, 7) -def test_get_jobs_for_service_doesnt_return_test_messages(notify_db, notify_db_session, sample_template, sample_job): +@pytest.mark.parametrize('file_name', [ + 'Test message', + 'One-off message' +]) +def test_get_jobs_for_service_doesnt_return_test_messages( + notify_db, + notify_db_session, + sample_template, + sample_job, + file_name, +): test_job = create_job( notify_db, notify_db_session, sample_template.service, sample_template, - original_file_name='Test message') + original_file_name=file_name, + ) jobs = dao_get_jobs_by_service_id(sample_job.service_id).items From eb493f68170ed5157d535c76db3575bbd881c91f Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Thu, 1 Jun 2017 13:56:47 +0100 Subject: [PATCH 2/2] =?UTF-8?q?Rename=20=E2=80=98One-off=20message?= =?UTF-8?q?=E2=80=99=20to=20=E2=80=98Report=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/alphagov/notifications-admin/pull/1293/commits/7915845cb58bdacb90d693fbf3073d80e57fa0d2 --- app/config.py | 2 +- tests/app/dao/test_jobs_dao.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/config.py b/app/config.py index 4bb5d030a..1cac131e2 100644 --- a/app/config.py +++ b/app/config.py @@ -107,7 +107,7 @@ class Config(object): SMS_CHAR_COUNT_LIMIT = 495 BRANDING_PATH = '/images/email-template/crests/' TEST_MESSAGE_FILENAME = 'Test message' - ONE_OFF_MESSAGE_FILENAME = 'One-off message' + ONE_OFF_MESSAGE_FILENAME = 'Report' MAX_VERIFY_CODE_COUNT = 10 NOTIFY_SERVICE_ID = 'd6aa2c68-a2d9-4437-ab19-3ae8eb202553' diff --git a/tests/app/dao/test_jobs_dao.py b/tests/app/dao/test_jobs_dao.py index 3ee8e733b..a9af1afda 100644 --- a/tests/app/dao/test_jobs_dao.py +++ b/tests/app/dao/test_jobs_dao.py @@ -337,7 +337,7 @@ def test_get_jobs_for_service_is_paginated(notify_db, notify_db_session, sample_ @pytest.mark.parametrize('file_name', [ 'Test message', - 'One-off message' + 'Report', ]) def test_get_jobs_for_service_doesnt_return_test_messages( notify_db,