diff --git a/app/templates/views/broadcast/previous-broadcasts.html b/app/templates/views/broadcast/previous-broadcasts.html index dbda6575f..35c796a81 100644 --- a/app/templates/views/broadcast/previous-broadcasts.html +++ b/app/templates/views/broadcast/previous-broadcasts.html @@ -1,4 +1,5 @@ {% from 'components/ajax-block.html' import ajax_block %} +{% from "components/button/macro.njk" import govukButton %} {% extends "withnav_template.html" %} @@ -12,4 +13,15 @@ {% include('views/broadcast/partials/dashboard-table.html') %} + {% if current_user.has_permissions('send_messages') %} +
+ {{ govukButton({ + "element": "a", + "text": "New alert", + "href": url_for('.new_broadcast', service_id=current_service.id), + "classes": "govuk-button--secondary" + }) }} +
+ {% endif %} + {% endblock %} diff --git a/tests/app/main/views/test_broadcast.py b/tests/app/main/views/test_broadcast.py index cdad71f35..6528e0e63 100644 --- a/tests/app/main/views/test_broadcast.py +++ b/tests/app/main/views/test_broadcast.py @@ -357,16 +357,20 @@ def test_broadcast_dashboard( ) +@pytest.mark.parametrize('endpoint', ( + '.broadcast_dashboard', '.broadcast_dashboard_previous', +)) def test_broadcast_dashboard_does_not_have_button_for_view_only_user( client_request, service_one, active_user_view_permissions, mock_get_broadcast_messages, + endpoint, ): service_one['permissions'] += ['broadcast'] client_request.login(active_user_view_permissions) page = client_request.get( - '.broadcast_dashboard', + endpoint, service_id=SERVICE_ONE_ID, ) assert not page.select('a.govuk-button') @@ -420,6 +424,15 @@ def test_previous_broadcasts_page( 'Example template This is a test Broadcast yesterday at 2:20am England Scotland', ] + button = page.select_one( + '.js-stick-at-bottom-when-scrolling a.govuk-button.govuk-button--secondary' + ) + assert normalize_spaces(button.text) == 'New alert' + assert button['href'] == url_for( + 'main.new_broadcast', + service_id=SERVICE_ONE_ID, + ) + def test_new_broadcast_page( client_request,