mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-01 15:46:07 -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 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')
|
@freeze_time('2018-06-01')
|
||||||
def test_get_platform_stats_uses_todays_date_if_no_start_or_end_date_is_provided(admin_request, mocker):
|
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(
|
assert response['errors'][0]['message'] == 'start_date time data {} does not match format %Y-%m-%d'.format(
|
||||||
start_date)
|
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