Merge pull request #3182 from alphagov/fix-template-type-all

Add a specific route for template_type=all
This commit is contained in:
Chris Hill-Scott
2019-11-13 14:22:30 +00:00
committed by GitHub
3 changed files with 62 additions and 1 deletions

View File

@@ -106,8 +106,10 @@ def start_tour(service_id, template_id):
@main.route("/services/<uuid:service_id>/templates", methods=['GET', 'POST'])
@main.route("/services/<uuid:service_id>/templates/all", methods=['GET', 'POST'])
@main.route("/services/<uuid:service_id>/templates/folders/<uuid:template_folder_id>", methods=['GET', 'POST'])
@main.route("/services/<uuid:service_id>/templates/<template_type:template_type>", methods=['GET', 'POST'])
@main.route("/services/<uuid:service_id>/templates/all/folders/<uuid:template_folder_id>", methods=['GET', 'POST'])
@main.route("/services/<uuid:service_id>/templates/<template_type:template_type>/folders/<uuid:template_folder_id>", methods=['GET', 'POST'])
@user_has_permissions()
def choose_template(service_id, template_type='all', template_folder_id=None):

View File

@@ -422,7 +422,7 @@ def format_decorators(decorators, indent=8):
def test_code_to_extract_decorators_works_with_known_examples():
assert (
'templates.choose_template',
['main.route', 'main.route', 'main.route', 'main.route', 'user_has_permissions'],
['main.route', 'main.route', 'main.route', 'main.route', 'main.route', 'main.route', 'user_has_permissions'],
) in list(
get_routes_and_decorators(SERVICE_ID_ARGUMENT)
)

View File

@@ -95,6 +95,54 @@ def _folder(name, folder_id=None, parent=None, users_with_permission=None):
],
None,
),
(
'Templates service one GOV.UK Notify',
'Templates',
[],
{'template_type': 'all'},
['Email', 'Text message', 'Letter'],
[
'folder_one 2 folders',
'folder_one folder_one_one 1 template, 1 folder',
'folder_one folder_one_one folder_one_one_one 1 template',
'folder_one folder_one_one folder_one_one_one sms_template_nested Text message template',
'folder_one folder_one_one letter_template_nested Letter template',
'folder_one folder_one_two Empty',
'folder_two Empty',
'sms_template_one Text message template',
'sms_template_two Text message template',
'email_template_one Email template',
'email_template_two Email template',
'letter_template_one Letter template',
'letter_template_two Letter template',
],
[
'folder_one 2 folders',
'folder_two Empty',
'sms_template_one Text message template',
'sms_template_two Text message template',
'email_template_one Email template',
'email_template_two Email template',
'letter_template_one Letter template',
'letter_template_two Letter template',
],
[
'folder_one',
'folder_one_one',
'folder_one_one_one',
'sms_template_nested',
'letter_template_nested',
'folder_one_two',
'folder_two',
'sms_template_one',
'sms_template_two',
'email_template_one',
'email_template_two',
'letter_template_one',
'letter_template_two',
],
None,
),
(
'Templates service one GOV.UK Notify',
'Templates',
@@ -268,6 +316,17 @@ def _folder(name, folder_id=None, parent=None, users_with_permission=None):
[],
'This folder is empty',
),
(
'folder_two Templates service one GOV.UK Notify',
'Templates folder_two',
[{'template_type': 'all'}],
{'template_folder_id': FOLDER_TWO_ID, 'template_type': 'all'},
['Email', 'Text message', 'Letter'],
[],
[],
[],
'This folder is empty',
),
]
)
def test_should_show_templates_folder_page(