mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-17 04:58:50 -04:00
Merge pull request #1739 from alphagov/backfill-performance-totals
Add command to backfill Performance Platform totals
This commit is contained in:
@@ -335,7 +335,7 @@ def test_send_total_sent_notifications_to_performance_platform_calls_with_correc
|
||||
new_callable=PropertyMock
|
||||
) as mock_active:
|
||||
mock_active.return_value = True
|
||||
send_total_sent_notifications_to_performance_platform()
|
||||
send_total_sent_notifications_to_performance_platform(yesterday)
|
||||
|
||||
perf_mock.assert_has_calls([
|
||||
call(get_london_midnight_in_utc(yesterday), 'sms', 2),
|
||||
|
||||
@@ -6,7 +6,7 @@ from freezegun import freeze_time
|
||||
from app.utils import get_midnight_for_day_before
|
||||
from app.performance_platform.total_sent_notifications import (
|
||||
send_total_notifications_sent_for_day_stats,
|
||||
get_total_sent_notifications_yesterday
|
||||
get_total_sent_notifications_for_day
|
||||
)
|
||||
|
||||
from tests.app.conftest import (
|
||||
@@ -55,6 +55,7 @@ def test_get_total_sent_notifications_yesterday_returns_expected_totals_dict(
|
||||
|
||||
# Create some notifications for the day before
|
||||
yesterday = datetime(2016, 1, 10, 15, 30, 0, 0)
|
||||
ereyesterday = datetime(2016, 1, 9, 15, 30, 0, 0)
|
||||
with freeze_time(yesterday):
|
||||
notification_history(notification_type='letter')
|
||||
notification_history(notification_type='sms')
|
||||
@@ -63,7 +64,7 @@ def test_get_total_sent_notifications_yesterday_returns_expected_totals_dict(
|
||||
notification_history(notification_type='email')
|
||||
notification_history(notification_type='email')
|
||||
|
||||
total_count_dict = get_total_sent_notifications_yesterday()
|
||||
total_count_dict = get_total_sent_notifications_for_day(yesterday)
|
||||
|
||||
assert total_count_dict == {
|
||||
"start_date": get_midnight_for_day_before(datetime.utcnow()),
|
||||
@@ -77,3 +78,12 @@ def test_get_total_sent_notifications_yesterday_returns_expected_totals_dict(
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
|
||||
another_day = get_total_sent_notifications_for_day(ereyesterday)
|
||||
|
||||
assert another_day == {
|
||||
'email': {'count': 0},
|
||||
'letter': {'count': 0},
|
||||
'sms': {'count': 0},
|
||||
'start_date': datetime(2016, 1, 9, 0, 0),
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from datetime import datetime
|
||||
|
||||
from app.commands import backfill_processing_time
|
||||
from app.commands import backfill_performance_platform_totals, backfill_processing_time
|
||||
|
||||
|
||||
def test_backfill_processing_time_works_for_correct_dates(mocker, notify_api):
|
||||
@@ -14,3 +14,16 @@ def test_backfill_processing_time_works_for_correct_dates(mocker, notify_api):
|
||||
send_mock.assert_any_call(datetime(2017, 7, 31, 23, 0), datetime(2017, 8, 1, 23, 0))
|
||||
send_mock.assert_any_call(datetime(2017, 8, 1, 23, 0), datetime(2017, 8, 2, 23, 0))
|
||||
send_mock.assert_any_call(datetime(2017, 8, 2, 23, 0), datetime(2017, 8, 3, 23, 0))
|
||||
|
||||
|
||||
def test_backfill_totals_works_for_correct_dates(mocker, notify_api):
|
||||
send_mock = mocker.patch('app.commands.send_total_sent_notifications_to_performance_platform')
|
||||
|
||||
# backfill_processing_time is a click.Command object - if you try invoking the callback on its own, it
|
||||
# throws a `RuntimeError: There is no active click context.` - so get at the original function using __wrapped__
|
||||
backfill_performance_platform_totals.callback.__wrapped__(datetime(2017, 8, 1), datetime(2017, 8, 3))
|
||||
|
||||
assert send_mock.call_count == 3
|
||||
send_mock.assert_any_call(datetime(2017, 8, 1))
|
||||
send_mock.assert_any_call(datetime(2017, 8, 2))
|
||||
send_mock.assert_any_call(datetime(2017, 8, 3))
|
||||
|
||||
Reference in New Issue
Block a user