From 4acfd4101f603fecb8f992f472f8703a5b0bf0a0 Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Wed, 1 Nov 2017 16:33:06 +0000 Subject: [PATCH] Add letter counts to the platform admin page. The big number counts are based on how many messages have been delivered. For letters we are using the requested count. --- app/main/views/platform_admin.py | 1 - .../views/platform-admin/_global_stats.html | 4 ++-- app/templates/views/platform-admin/services.html | 13 +++++++++++-- tests/app/main/views/test_platform_admin.py | 4 ++-- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/app/main/views/platform_admin.py b/app/main/views/platform_admin.py index 24195fd07..5db76551f 100644 --- a/app/main/views/platform_admin.py +++ b/app/main/views/platform_admin.py @@ -113,7 +113,6 @@ def create_global_stats(services): 'requested': 0 } } - for service in services: for msg_type, status in itertools.product(('sms', 'email', 'letter'), ('delivered', 'failed', 'requested')): stats[msg_type][status] += service['statistics'][msg_type][status] diff --git a/app/templates/views/platform-admin/_global_stats.html b/app/templates/views/platform-admin/_global_stats.html index 0a8f8d688..5cfe1c50b 100644 --- a/app/templates/views/platform-admin/_global_stats.html +++ b/app/templates/views/platform-admin/_global_stats.html @@ -23,8 +23,8 @@
{{ big_number_with_status( - global_stats.letter.delivered + global_stats.letter.failed, - message_count_label(global_stats.letter.delivered, 'letter'), + global_stats.letter.requested, + message_count_label(global_stats.letter.requested, 'letter'), global_stats.letter.failed, global_stats.letter.failure_rate, global_stats.letter.failure_rate|float > 3, diff --git a/app/templates/views/platform-admin/services.html b/app/templates/views/platform-admin/services.html index d866658d1..237e82923 100644 --- a/app/templates/views/platform-admin/services.html +++ b/app/templates/views/platform-admin/services.html @@ -54,7 +54,7 @@ {% call row() %} {% if not service['active'] %} - {% call field(status='default') %} + {% call field(status='default', border=False) %} archived {% endcall %} {% elif service['research_mode'] %} @@ -62,7 +62,7 @@ research mode {% endcall %} {% elif not service['restricted'] %} - {% call field(status='error') %} + {% call field(status='error', border=False) %} Live {% endcall %} {% else %} @@ -72,6 +72,15 @@ {{ stats_fields('sms', service['stats']) }} {% endcall %} + {% call row() %} + + {% call field(border=False) %} + + {% endcall %} + {{ stats_fields('letter', service['stats']) }} + + {% endcall %} + {% endcall %} {% endfor %} diff --git a/tests/app/main/views/test_platform_admin.py b/tests/app/main/views/test_platform_admin.py index 07f89079b..62ee4d451 100644 --- a/tests/app/main/views/test_platform_admin.py +++ b/tests/app/main/views/test_platform_admin.py @@ -97,7 +97,7 @@ def test_should_render_platform_admin_page( response = client.get(url_for(endpoint)) assert response.status_code == 200 page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser') - assert len(page.select('tbody tr')) == expected_services_shown * 2 # one row for SMS, one for email + assert len(page.select('tbody tr')) == expected_services_shown * 3 # one row for SMS, one for email, one for letter mock_get_detailed_services.assert_called_once_with({'detailed': True, 'include_from_test_key': True, 'only_active': False}) @@ -543,7 +543,7 @@ def test_should_show_correct_sent_totals_for_platform_admin( assert email_total == 60 assert sms_total == 40 - assert letter_total == 45 + assert letter_total == 60 @pytest.mark.parametrize('endpoint, restricted, research_mode', [