mirror of
https://github.com/GSA/notifications-api.git
synced 2026-01-30 14:31:57 -05:00
Added test for platform stats using query rather than mock.
This commit is contained in:
@@ -2,6 +2,9 @@ from datetime import date, datetime
|
||||
|
||||
from freezegun import freeze_time
|
||||
|
||||
from app.models import SMS_TYPE, EMAIL_TYPE
|
||||
from tests.app.db import create_service, create_template, create_ft_notification_status, create_notification
|
||||
|
||||
|
||||
@freeze_time('2018-06-01')
|
||||
def test_get_platform_stats_uses_todays_date_if_no_start_or_end_date_is_provided(admin_request, mocker):
|
||||
@@ -35,3 +38,37 @@ def test_get_platform_stats_validates_the_date(admin_request):
|
||||
|
||||
assert response['errors'][0]['message'] == 'start_date time data {} does not match format %Y-%m-%d'.format(
|
||||
start_date)
|
||||
|
||||
|
||||
@freeze_time('2018-10-31 14:00')
|
||||
def test_get_platform_stats_with_real_query(admin_request, notify_db_session):
|
||||
service_1 = create_service(service_name='service_1')
|
||||
sms_template = create_template(service=service_1, template_type=SMS_TYPE)
|
||||
email_template = create_template(service=service_1, template_type=EMAIL_TYPE)
|
||||
create_ft_notification_status(date(2018, 10, 29), 'sms', service_1, count=10)
|
||||
create_ft_notification_status(date(2018, 10, 29), 'email', service_1, count=3)
|
||||
|
||||
create_notification(sms_template, created_at=datetime(2018, 10, 31, 11, 0, 0), key_type='test')
|
||||
create_notification(sms_template, created_at=datetime(2018, 10, 31, 12, 0, 0), status='delivered')
|
||||
create_notification(email_template, created_at=datetime(2018, 10, 31, 13, 0, 0), status='delivered')
|
||||
|
||||
response = admin_request.get(
|
||||
'platform_stats.get_platform_stats', start_date=date(2018, 10, 29),
|
||||
)
|
||||
assert response == {
|
||||
'email': {
|
||||
'failures': {
|
||||
'virus-scan-failed': 0, 'temporary-failure': 0, 'permanent-failure': 0, 'technical-failure': 0},
|
||||
'total': 4, 'test-key': 0
|
||||
},
|
||||
'letter': {
|
||||
'failures': {
|
||||
'virus-scan-failed': 0, 'temporary-failure': 0, 'permanent-failure': 0, 'technical-failure': 0},
|
||||
'total': 0, 'test-key': 0
|
||||
},
|
||||
'sms': {
|
||||
'failures': {
|
||||
'virus-scan-failed': 0, 'temporary-failure': 0, 'permanent-failure': 0, 'technical-failure': 0},
|
||||
'total': 11, 'test-key': 1
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user