2021-03-10 11:12:29 +00:00
|
|
|
from datetime import date
|
2021-03-10 13:55:06 +00:00
|
|
|
|
2022-07-05 11:27:15 -07:00
|
|
|
import pytest
|
|
|
|
|
|
2021-03-10 13:55:06 +00:00
|
|
|
from tests.app.db import (
|
|
|
|
|
create_ft_notification_status,
|
|
|
|
|
create_process_time,
|
|
|
|
|
create_template,
|
|
|
|
|
)
|
2021-03-10 11:12:29 +00:00
|
|
|
|
|
|
|
|
|
2022-07-05 11:27:15 -07:00
|
|
|
@pytest.mark.skip(reason="Needs updating for TTS: Needs updating for new providers")
|
2021-03-10 11:12:29 +00:00
|
|
|
def test_performance_dashboard(sample_service, admin_request):
|
|
|
|
|
template_sms = create_template(service=sample_service, template_type='sms', template_name='a')
|
|
|
|
|
template_email = create_template(service=sample_service, template_type='email', template_name='b')
|
|
|
|
|
template_letter = create_template(service=sample_service, template_type='letter', template_name='c')
|
|
|
|
|
create_ft_notification_status(bst_date=date(2021, 2, 28),
|
|
|
|
|
service=template_email.service,
|
|
|
|
|
template=template_email,
|
|
|
|
|
count=10)
|
|
|
|
|
create_ft_notification_status(bst_date=date(2021, 2, 28),
|
|
|
|
|
service=template_sms.service,
|
|
|
|
|
template=template_sms,
|
|
|
|
|
count=5)
|
|
|
|
|
create_ft_notification_status(bst_date=date(2021, 2, 28),
|
|
|
|
|
service=template_letter.service,
|
|
|
|
|
template=template_letter,
|
|
|
|
|
count=2)
|
|
|
|
|
create_ft_notification_status(bst_date=date(2021, 3, 1),
|
|
|
|
|
service=template_email.service,
|
|
|
|
|
template=template_email,
|
|
|
|
|
count=15)
|
|
|
|
|
create_ft_notification_status(bst_date=date(2021, 3, 1),
|
|
|
|
|
service=template_sms.service,
|
|
|
|
|
template=template_sms,
|
|
|
|
|
count=20)
|
|
|
|
|
create_ft_notification_status(bst_date=date(2021, 3, 1),
|
|
|
|
|
service=template_letter.service,
|
|
|
|
|
template=template_letter,
|
|
|
|
|
count=3)
|
|
|
|
|
create_ft_notification_status(bst_date=date(2021, 3, 2),
|
|
|
|
|
service=template_email.service,
|
|
|
|
|
template=template_email,
|
|
|
|
|
count=25)
|
|
|
|
|
create_ft_notification_status(bst_date=date(2021, 3, 2),
|
|
|
|
|
service=template_sms.service,
|
|
|
|
|
template=template_sms,
|
|
|
|
|
count=30)
|
|
|
|
|
create_ft_notification_status(bst_date=date(2021, 3, 2),
|
|
|
|
|
service=template_letter.service,
|
|
|
|
|
template=template_letter,
|
|
|
|
|
count=10)
|
|
|
|
|
create_ft_notification_status(bst_date=date(2021, 3, 3),
|
|
|
|
|
service=template_email.service,
|
|
|
|
|
template=template_email,
|
|
|
|
|
count=45)
|
|
|
|
|
create_ft_notification_status(bst_date=date(2021, 3, 3),
|
|
|
|
|
service=template_sms.service,
|
|
|
|
|
template=template_sms,
|
|
|
|
|
count=35)
|
|
|
|
|
create_ft_notification_status(bst_date=date(2021, 3, 3),
|
|
|
|
|
service=template_letter.service,
|
|
|
|
|
template=template_letter,
|
|
|
|
|
count=15)
|
|
|
|
|
|
|
|
|
|
create_process_time(bst_date='2021-02-28', messages_total=15, messages_within_10_secs=14)
|
|
|
|
|
create_process_time(bst_date='2021-03-01', messages_total=35, messages_within_10_secs=34)
|
2021-11-25 14:57:31 +00:00
|
|
|
create_process_time(bst_date='2021-03-02', messages_total=15, messages_within_10_secs=12)
|
2021-03-10 11:12:29 +00:00
|
|
|
create_process_time(bst_date='2021-03-03', messages_total=15, messages_within_10_secs=14)
|
|
|
|
|
|
|
|
|
|
results = admin_request.get(endpoint="performance_dashboard.get_performance_dashboard",
|
|
|
|
|
start_date='2021-03-01',
|
|
|
|
|
end_date='2021-03-02')
|
|
|
|
|
|
|
|
|
|
assert results['total_notifications'] == 10+5+2+15+20+3+25+30+10+45+35+15
|
|
|
|
|
assert results['email_notifications'] == 10+15+25+45
|
|
|
|
|
assert results['sms_notifications'] == 5+20+30+35
|
|
|
|
|
assert results['letter_notifications'] == 2+3+10+15
|
|
|
|
|
assert results['notifications_by_type'] == [{"date": '2021-03-01', "emails": 15, "sms": 20, "letters": 3},
|
|
|
|
|
{"date": '2021-03-02', "emails": 25, "sms": 30, "letters": 10}]
|
2021-11-25 14:57:31 +00:00
|
|
|
assert results['processing_time'] == [{"date": "2021-03-01", "percentage_under_10_seconds": 97.1428571428571},
|
|
|
|
|
{"date": "2021-03-02", "percentage_under_10_seconds": 80.0}]
|
2021-03-10 11:12:29 +00:00
|
|
|
assert results["live_service_count"] == 1
|
|
|
|
|
assert results["services_using_notify"][0]["service_name"] == sample_service.name
|
|
|
|
|
assert not results["services_using_notify"][0]["organisation_name"]
|