Merge pull request #3524 from alphagov/no-templates-message-broadcast

Add ‘no templates’ message for broadcast services
This commit is contained in:
Chris Hill-Scott
2020-07-15 11:37:56 +01:00
committed by GitHub
2 changed files with 36 additions and 21 deletions

View File

@@ -21,25 +21,19 @@
<h1 class="heading-medium"> <h1 class="heading-medium">
{{ page_title }} {{ page_title }}
</h1> </h1>
{% if current_user.has_permissions('manage_templates') %}
<p class="govuk-body"> <p class="govuk-body">
You need a template before you can send {% if current_user.has_permissions('manage_templates') %}
{% if 'letter' in current_service.permissions %} You need a template before you can
emails, text messages or letters {% else %}
{%- else -%} You need to ask your service manager to add templates before you can
emails or text messages {% endif %}
{%- endif %}. {% if current_service.has_permission('broadcast') %}
</p> prepare a broadcast
{% else %} {%- else %}
<p class="govuk-body"> send emails, text messages or letters
You need to ask your service manager to add templates before you can send {%- endif %}.
{% if 'letter' in current_service.permissions %} </p>
emails, text messages or letters
{%- else -%}
emails or text messages
{%- endif %}.
</p>
{% endif %}
{% else %} {% else %}

View File

@@ -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( def test_should_show_empty_page_when_no_templates(
client_request, client_request,
service_one, service_one,
mock_get_service_templates_when_no_templates_exist, mock_get_service_templates_when_no_templates_exist,
mock_get_template_folders, mock_get_template_folders,
permissions,
expected_message,
): ):
service_one['permissions'] = permissions
page = client_request.get( page = client_request.get(
'main.choose_template', 'main.choose_template',
service_id=service_one['id'], service_id=service_one['id'],
@@ -43,7 +64,7 @@ def test_should_show_empty_page_when_no_templates(
'Templates' 'Templates'
) )
assert normalize_spaces(page.select_one('main p').text) == ( 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_folder_form')
assert page.select_one('#add_new_template_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' 'Templates'
) )
assert normalize_spaces(page.select_one('main p').text) == ( 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 [ assert [
(item['name'], item['value']) for item in page.select('[type=radio]') (item['name'], item['value']) for item in page.select('[type=radio]')