From a341536de0d242aa3a8037b9232c177eace7dc85 Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Wed, 2 Jun 2021 14:13:31 +0100 Subject: [PATCH] - Add comment to test and new if statement - Update assert in test --- app/dao/fact_notification_status_dao.py | 3 ++ .../dao/test_fact_notification_status_dao.py | 38 +++---------------- 2 files changed, 8 insertions(+), 33 deletions(-) diff --git a/app/dao/fact_notification_status_dao.py b/app/dao/fact_notification_status_dao.py index 2caa68379..84889cb56 100644 --- a/app/dao/fact_notification_status_dao.py +++ b/app/dao/fact_notification_status_dao.py @@ -155,6 +155,9 @@ def fetch_notification_status_for_service_for_today_and_7_previous_days(service_ FactNotificationStatus.key_type != KEY_TYPE_TEST ) if str(service_id) in (current_app.config['HIGH_VOLUME_SERVICE']): + # As a temporary measure we are not including today's totals for high volume service. This will allow the + # services to view the dashboard and /notification pages more easily. There is a story to try to resolve the + # query performance, https://www.pivotaltracker.com/story/show/178330973 all_stats_table = stats_for_7_days.subquery() else: stats_for_today = db.session.query( diff --git a/tests/app/dao/test_fact_notification_status_dao.py b/tests/app/dao/test_fact_notification_status_dao.py index 6f9ed01b1..319327e69 100644 --- a/tests/app/dao/test_fact_notification_status_dao.py +++ b/tests/app/dao/test_fact_notification_status_dao.py @@ -251,22 +251,8 @@ def test_fetch_notification_status_for_service_for_today_and_7_previous_days(not ) assert len(results) == 4 - - assert results[0].notification_type == 'email' - assert results[0].status == 'delivered' - assert results[0].count == 4 - - assert results[1].notification_type == 'letter' - assert results[1].status == 'delivered' - assert results[1].count == 5 - - assert results[2].notification_type == 'sms' - assert results[2].status == 'created' - assert results[2].count == 3 - - assert results[3].notification_type == 'sms' - assert results[3].status == 'delivered' - assert results[3].count == 19 + assert sorted(results, key=lambda x: (x.notification_type, x.status, x.count)) == \ + [('email', 'delivered', 4), ('letter', 'delivered', 5), ('sms', 'created', 3), ('sms', 'delivered', 19)] @freeze_time('2018-10-31T18:00:00') @@ -283,7 +269,7 @@ def test_fetch_notification_status_for_service_for_today_and_7_previous_days_for create_ft_notification_status(date(2018, 10, 29), 'sms', service_1, notification_status='created') create_ft_notification_status(date(2018, 10, 29), 'email', service_1, count=3) create_ft_notification_status(date(2018, 10, 26), 'letter', service_1, count=5) - + # notifications created today will not be included in the resultset create_notification(sms_template, created_at=datetime(2018, 10, 31, 11, 0, 0)) create_notification(sms_template_2, created_at=datetime(2018, 10, 31, 11, 0, 0)) create_notification(sms_template, created_at=datetime(2018, 10, 31, 12, 0, 0), status='delivered') @@ -301,22 +287,8 @@ def test_fetch_notification_status_for_service_for_today_and_7_previous_days_for ) assert len(results) == 4 - - assert results[0].notification_type == 'email' - assert results[0].status == 'delivered' - assert results[0].count == 3 - - assert results[1].notification_type == 'letter' - assert results[1].status == 'delivered' - assert results[1].count == 5 - - assert results[2].notification_type == 'sms' - assert results[2].status == 'created' - assert results[2].count == 1 - - assert results[3].notification_type == 'sms' - assert results[3].status == 'delivered' - assert results[3].count == 18 + assert sorted(results, key=lambda x: (x.notification_type, x.status, x.count)) == \ + [('email', 'delivered', 3), ('letter', 'delivered', 5), ('sms', 'created', 1), ('sms', 'delivered', 18)] @freeze_time('2018-10-31T18:00:00')