diff --git a/app/templates/views/templates/choose.html b/app/templates/views/templates/choose.html index db0851de4..505d6f527 100644 --- a/app/templates/views/templates/choose.html +++ b/app/templates/views/templates/choose.html @@ -21,25 +21,19 @@

{{ page_title }}

- {% if current_user.has_permissions('manage_templates') %} -

- You need a template before you can send - {% if 'letter' in current_service.permissions %} - emails, text messages or letters - {%- else -%} - emails or text messages - {%- endif %}. -

- {% else %} -

- You need to ask your service manager to add templates before you can send - {% if 'letter' in current_service.permissions %} - emails, text messages or letters - {%- else -%} - emails or text messages - {%- endif %}. -

- {% endif %} + +

+ {% if current_user.has_permissions('manage_templates') %} + You need a template before you can + {% else %} + You need to ask your service manager to add templates before you can + {% endif %} + {% if current_service.has_permission('broadcast') %} + prepare a broadcast + {%- else %} + send emails, text messages or letters + {%- endif %}. +

{% else %} diff --git a/tests/app/main/views/test_templates.py b/tests/app/main/views/test_templates.py index 4a8c8bb72..edf61202a 100644 --- a/tests/app/main/views/test_templates.py +++ b/tests/app/main/views/test_templates.py @@ -27,13 +27,34 @@ from tests.conftest import ( ) +@pytest.mark.parametrize('permissions, expected_message', ( + (['email'], ( + 'You need a template before you can send emails, text messages or letters.' + )), + (['sms'], ( + 'You need a template before you can send emails, text messages or letters.' + )), + (['letter'], ( + 'You need a template before you can send emails, text messages or letters.' + )), + (['email', 'sms', 'letter'], ( + 'You need a template before you can send emails, text messages or letters.' + )), + (['broadcast'], ( + 'You need a template before you can prepare a broadcast.' + )), +)) def test_should_show_empty_page_when_no_templates( client_request, service_one, mock_get_service_templates_when_no_templates_exist, mock_get_template_folders, + permissions, + expected_message, ): + service_one['permissions'] = permissions + page = client_request.get( 'main.choose_template', service_id=service_one['id'], @@ -43,7 +64,7 @@ def test_should_show_empty_page_when_no_templates( 'Templates' ) assert normalize_spaces(page.select_one('main p').text) == ( - 'You need a template before you can send emails or text messages.' + expected_message ) assert page.select_one('#add_new_folder_form') assert page.select_one('#add_new_template_form') @@ -64,7 +85,7 @@ def test_should_show_add_template_form_if_service_has_folder_permission( 'Templates' ) assert normalize_spaces(page.select_one('main p').text) == ( - 'You need a template before you can send emails or text messages.' + 'You need a template before you can send emails, text messages or letters.' ) assert [ (item['name'], item['value']) for item in page.select('[type=radio]')