mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-11 18:37:33 -04:00
Remove counts from notification page
The counts on the notification page will only ever show 1 thing. Which
feels like overkill, especially if you’re only sending one-off messages.
It’s also confusing when you come from the job/activity pages which
have one set of numbers to then be confronted with a different set of
numbers.
The important stuff on this page is:
- what the message was
- some meta information about it
Sorry Leo 😢
This commit is contained in:
@@ -59,7 +59,6 @@ def view_notification(service_id, notification_id):
|
|||||||
filetype='png',
|
filetype='png',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
status=request.args.get('status'),
|
|
||||||
updates_url=url_for(
|
updates_url=url_for(
|
||||||
".view_notification_updates",
|
".view_notification_updates",
|
||||||
service_id=service_id,
|
service_id=service_id,
|
||||||
@@ -80,49 +79,10 @@ def view_notification_updates(service_id, notification_id):
|
|||||||
))
|
))
|
||||||
|
|
||||||
|
|
||||||
def _get_single_notification_counts(notification, help_argument):
|
|
||||||
return [
|
|
||||||
(
|
|
||||||
label,
|
|
||||||
query_param,
|
|
||||||
url_for(
|
|
||||||
".view_notification",
|
|
||||||
service_id=notification['service'],
|
|
||||||
notification_id=notification['id'],
|
|
||||||
status=query_param,
|
|
||||||
help=help_argument
|
|
||||||
),
|
|
||||||
count
|
|
||||||
) for label, query_param, count in [
|
|
||||||
[
|
|
||||||
'total', '',
|
|
||||||
1
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'sending', 'sending',
|
|
||||||
int(notification['status'] in SENDING_STATUSES)
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'delivered', 'delivered',
|
|
||||||
int(notification['status'] in DELIVERED_STATUSES)
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'failed', 'failed',
|
|
||||||
int(notification['status'] in FAILURE_STATUSES)
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def get_single_notification_partials(notification):
|
def get_single_notification_partials(notification):
|
||||||
status_args = get_status_arg(request.args)
|
status_args = get_status_arg(request.args)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'counts': render_template(
|
|
||||||
'partials/count.html',
|
|
||||||
counts=_get_single_notification_counts(notification, request.args.get('help', 0)),
|
|
||||||
status=status_args
|
|
||||||
),
|
|
||||||
'notifications': render_template(
|
'notifications': render_template(
|
||||||
'partials/notifications/notifications.html',
|
'partials/notifications/notifications.html',
|
||||||
notification=notification,
|
notification=notification,
|
||||||
|
|||||||
@@ -16,7 +16,6 @@
|
|||||||
{{ template|string }}
|
{{ template|string }}
|
||||||
|
|
||||||
{{ ajax_block(partials, updates_url, 'status', finished=finished) }}
|
{{ ajax_block(partials, updates_url, 'status', finished=finished) }}
|
||||||
{{ ajax_block(partials, updates_url, 'counts', finished=finished) }}
|
|
||||||
{{ ajax_block(partials, updates_url, 'notifications', finished=finished) }}
|
{{ ajax_block(partials, updates_url, 'notifications', finished=finished) }}
|
||||||
|
|
||||||
{{ page_footer(
|
{{ page_footer(
|
||||||
|
|||||||
@@ -13,23 +13,6 @@ from app.utils import (
|
|||||||
from tests.conftest import mock_get_notification
|
from tests.conftest import mock_get_notification
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('multidict_args, expected_statuses', [
|
|
||||||
([], REQUESTED_STATUSES),
|
|
||||||
([('status', '')], REQUESTED_STATUSES),
|
|
||||||
([('status', 'garbage')], REQUESTED_STATUSES),
|
|
||||||
([('status', 'sending')], SENDING_STATUSES),
|
|
||||||
([('status', 'delivered')], DELIVERED_STATUSES),
|
|
||||||
([('status', 'failed')], FAILURE_STATUSES),
|
|
||||||
])
|
|
||||||
def test_status_filters(mocker, multidict_args, expected_statuses):
|
|
||||||
mocker.patch('app.main.views.notifications.current_app')
|
|
||||||
|
|
||||||
args = MultiDict(multidict_args)
|
|
||||||
args['status'] = get_status_arg(args)
|
|
||||||
|
|
||||||
assert sorted(args['status']) == sorted(expected_statuses)
|
|
||||||
|
|
||||||
|
|
||||||
@freeze_time("2016-01-01 11:09:00.061258")
|
@freeze_time("2016-01-01 11:09:00.061258")
|
||||||
def test_notification_status_page_shows_details(
|
def test_notification_status_page_shows_details(
|
||||||
client_request,
|
client_request,
|
||||||
@@ -50,29 +33,3 @@ def test_notification_status_page_shows_details(
|
|||||||
service_one['id'],
|
service_one['id'],
|
||||||
fake_uuid
|
fake_uuid
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('notification_status, expected_big_number_vals', [
|
|
||||||
('created', [1, 1, 0, 0]),
|
|
||||||
('sending', [1, 1, 0, 0]),
|
|
||||||
('delivered', [1, 0, 1, 0]),
|
|
||||||
('temporary-failure', [1, 0, 0, 1]),
|
|
||||||
])
|
|
||||||
def test_notification_status_page_shows_correct_numbers(
|
|
||||||
client_request,
|
|
||||||
mocker,
|
|
||||||
service_one,
|
|
||||||
fake_uuid,
|
|
||||||
notification_status,
|
|
||||||
expected_big_number_vals
|
|
||||||
):
|
|
||||||
mock_get_notification(mocker, fake_uuid, notification_status=notification_status)
|
|
||||||
|
|
||||||
page = client_request.get(
|
|
||||||
'main.view_notification',
|
|
||||||
service_id=service_one['id'],
|
|
||||||
notification_id=fake_uuid
|
|
||||||
)
|
|
||||||
|
|
||||||
big_numbers = page.find_all('div', {'class': 'big-number-number'})
|
|
||||||
assert expected_big_number_vals == [int(num.text.strip()) for num in big_numbers]
|
|
||||||
|
|||||||
Reference in New Issue
Block a user