From a9c5ba7674291aeb6c4da5cfd32c3ca3b152428f Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Tue, 1 May 2018 16:48:34 +0100 Subject: [PATCH] Remove the truncate date function for the query. --- app/dao/services_dao.py | 2 +- tests/app/dao/test_services_dao.py | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/dao/services_dao.py b/app/dao/services_dao.py index 87b9fb3b0..5f326b372 100644 --- a/app/dao/services_dao.py +++ b/app/dao/services_dao.py @@ -254,7 +254,7 @@ def dao_fetch_stats_for_service(service_id): # We want 7 days inclusive start_date = get_london_midnight_in_utc(date.today() - timedelta(days=6)) return _stats_for_service_query(service_id).filter( - func.date(Notification.created_at) >= start_date + Notification.created_at >= start_date ).all() diff --git a/tests/app/dao/test_services_dao.py b/tests/app/dao/test_services_dao.py index 586fb7687..b0c5a0ccb 100644 --- a/tests/app/dao/test_services_dao.py +++ b/tests/app/dao/test_services_dao.py @@ -628,23 +628,26 @@ def test_fetch_stats_for_today_only_includes_today(notify_db, notify_db_session, def test_fetch_stats_should_not_gather_notifications_older_than_7_days(notify_db, notify_db_session, sample_template): # 8 days ago - create_notification(notify_db, None, to_field='1', status='delivered', created_at='2001-01-02T12:00:00') + create_notification(notify_db, None, to_field='1', status='delivered', created_at='2001-04-02T12:00:00') + create_notification(notify_db, None, to_field='1', status='delivered', created_at='2001-04-02T22:59:59') + # 7 days ago BST midnight + create_notification(notify_db, None, to_field='1', status='failed', created_at='2001-04-02T23:00:00') # 7 days ago, 2hours ago - create_notification(notify_db, None, to_field='2', status='failed', created_at='2001-01-03T10:00:00') + create_notification(notify_db, None, to_field='2', status='failed', created_at='2001-04-03T10:00:00') # 7 days ago - create_notification(notify_db, None, to_field='2', status='failed', created_at='2001-01-03T12:00:00') + create_notification(notify_db, None, to_field='2', status='failed', created_at='2001-04-03T12:00:00') # right_now - create_notification(notify_db, None, to_field='3', status='created', created_at='2001-01-09T12:00:00') + create_notification(notify_db, None, to_field='3', status='created', created_at='2001-04-09T12:00:00') - with freeze_time('2001-01-09T12:00:00'): + with freeze_time('2001-04-09T12:00:00'): stats = dao_fetch_stats_for_service(sample_template.service_id) stats = {row.status: row.count for row in stats} assert 'delivered' not in stats - assert stats['failed'] == 2 + assert stats['failed'] == 3 assert stats['created'] == 1