mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-19 14:09:20 -04:00
Remove add template as separate page
This has moved to the choose template page.
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
from functools import partial
|
||||
|
||||
import pytest
|
||||
from bs4 import BeautifulSoup
|
||||
from flask import url_for
|
||||
|
||||
letters_urls = [
|
||||
@@ -56,31 +55,29 @@ def test_letters_lets_in_without_permission(
|
||||
@pytest.mark.parametrize('permissions, choices', [
|
||||
(
|
||||
['email', 'sms', 'letter'],
|
||||
['Email template', 'Text message template', 'Letter template', 'Copy of an existing template', 'Folder']
|
||||
['Email template', 'Text message template', 'Letter template', 'Copy of an existing template']
|
||||
),
|
||||
(
|
||||
['email', 'sms'],
|
||||
['Email template', 'Text message template', 'Copy of an existing template', 'Folder']
|
||||
['Email template', 'Text message template', 'Copy of an existing template']
|
||||
),
|
||||
])
|
||||
def test_given_option_to_add_letters_if_allowed(
|
||||
logged_in_client,
|
||||
client_request,
|
||||
service_one,
|
||||
mocker,
|
||||
mock_get_service_templates,
|
||||
mock_get_template_folders,
|
||||
mock_get_organisations_and_services_for_user,
|
||||
permissions,
|
||||
choices,
|
||||
):
|
||||
service_one['permissions'] = permissions
|
||||
mocker.patch('app.service_api_client.get_service', return_value={"data": service_one})
|
||||
|
||||
response = logged_in_client.get(url_for('main.add_template_by_type', service_id=service_one['id']))
|
||||
page = client_request.get('main.choose_template', service_id=service_one['id'])
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
radios = page.select('input[type=radio]')
|
||||
labels = page.select('label')
|
||||
radios = page.select('#add_new_template_form input[type=radio]')
|
||||
labels = page.select('#add_new_template_form label')
|
||||
|
||||
assert len(radios) == len(choices)
|
||||
assert len(labels) == len(choices)
|
||||
|
||||
@@ -37,36 +37,6 @@ def _template(template_type, name, parent=None, template_id=None):
|
||||
}
|
||||
|
||||
|
||||
@pytest.mark.parametrize('parent_folder_id', [None, PARENT_FOLDER_ID])
|
||||
def test_add_page_shows_option_for_folder(
|
||||
client_request,
|
||||
service_one,
|
||||
parent_folder_id,
|
||||
mocker,
|
||||
mock_get_service_templates,
|
||||
mock_get_organisations_and_services_for_user,
|
||||
):
|
||||
mocker.patch('app.service_api_client.get_service', return_value={"data": service_one})
|
||||
|
||||
page = client_request.get(
|
||||
'main.add_template_by_type',
|
||||
service_id=service_one['id'],
|
||||
template_folder_id=parent_folder_id,
|
||||
_test_page_title=False
|
||||
)
|
||||
|
||||
radios = page.select('input[type=radio]')
|
||||
labels = page.select('label')
|
||||
|
||||
assert [x['value'] for x in radios] == ['email', 'sms', 'copy-existing', 'folder']
|
||||
assert [x.text.strip() for x in labels] == [
|
||||
'Email template',
|
||||
'Text message template',
|
||||
'Copy of an existing template',
|
||||
'Folder'
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.parametrize('parent_folder_id', [None, PARENT_FOLDER_ID])
|
||||
def test_get_add_template_folder_page(client_request, service_one, parent_folder_id):
|
||||
|
||||
@@ -437,54 +407,6 @@ def test_should_show_templates_folder_page(
|
||||
mock_get_service_templates.assert_called_once_with(SERVICE_ONE_ID)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("template_type", ["email", "sms"])
|
||||
def test_add_template_by_type_should_redirect_to_add_service_template(
|
||||
client_request,
|
||||
service_one,
|
||||
template_type,
|
||||
mock_get_service_templates,
|
||||
mock_get_organisations_and_services_for_user,
|
||||
):
|
||||
client_request.post(
|
||||
'main.add_template_by_type',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
template_folder_id=PARENT_FOLDER_ID,
|
||||
_data={'template_type': template_type},
|
||||
_expected_redirect=url_for('main.add_service_template',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
template_type=template_type,
|
||||
template_folder_id=PARENT_FOLDER_ID,
|
||||
_external=True),
|
||||
)
|
||||
|
||||
|
||||
def test_add_template_by_type_should_redirect_to_view_template_for_letter(
|
||||
client_request,
|
||||
service_one,
|
||||
mock_get_service_templates,
|
||||
mock_get_organisations_and_services_for_user,
|
||||
mock_create_service_template
|
||||
):
|
||||
service_one['permissions'] += ['letter']
|
||||
client_request.post(
|
||||
'main.add_template_by_type',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
template_folder_id=PARENT_FOLDER_ID,
|
||||
_data={'template_type': 'letter'},
|
||||
_expected_redirect=url_for('main.view_template',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
template_id='Untitled',
|
||||
_external=True),
|
||||
)
|
||||
mock_create_service_template.assert_called_once_with('Untitled',
|
||||
'letter',
|
||||
'Body',
|
||||
SERVICE_ONE_ID,
|
||||
'Main heading',
|
||||
'normal',
|
||||
PARENT_FOLDER_ID)
|
||||
|
||||
|
||||
def test_can_create_email_template_with_parent_folder(
|
||||
client_request,
|
||||
mock_create_service_template
|
||||
|
||||
@@ -743,28 +743,20 @@ def test_dont_show_preview_letter_templates_for_bad_filetype(
|
||||
assert mock_get_service_template.called is False
|
||||
|
||||
|
||||
@pytest.mark.parametrize('endpoint, data', (
|
||||
('main.add_template_by_type', {
|
||||
'template_type': 'copy-existing'
|
||||
}),
|
||||
('main.choose_template', {
|
||||
'operation': 'add-new-template',
|
||||
'add_template_by_template_type': 'copy-existing'
|
||||
}),
|
||||
))
|
||||
def test_choosing_to_copy_redirects(
|
||||
client_request,
|
||||
service_one,
|
||||
mock_get_service_templates,
|
||||
mock_get_template_folders,
|
||||
mock_get_organisations_and_services_for_user,
|
||||
endpoint,
|
||||
data,
|
||||
):
|
||||
client_request.post(
|
||||
endpoint,
|
||||
'main.choose_template',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
_data=data,
|
||||
_data={
|
||||
'operation': 'add-new-template',
|
||||
'add_template_by_template_type': 'copy-existing'
|
||||
},
|
||||
_expected_status=302,
|
||||
_expected_redirect=url_for(
|
||||
'main.choose_template_to_copy',
|
||||
@@ -1158,20 +1150,6 @@ def test_cant_copy_template_from_non_member_service(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('endpoint, data, expected_error', (
|
||||
(
|
||||
'main.add_template_by_type',
|
||||
{
|
||||
'template_type': 'email',
|
||||
},
|
||||
"Sending emails has been disabled for your service."
|
||||
),
|
||||
(
|
||||
'main.add_template_by_type',
|
||||
{
|
||||
'template_type': 'sms',
|
||||
},
|
||||
"Sending text messages has been disabled for your service."
|
||||
),
|
||||
(
|
||||
'main.choose_template',
|
||||
{
|
||||
@@ -1207,10 +1185,10 @@ def test_should_not_allow_creation_of_template_through_form_without_correct_perm
|
||||
_follow_redirects=True,
|
||||
)
|
||||
assert normalize_spaces(page.select('main p')[0].text) == expected_error
|
||||
assert page.select(".page-footer-back-link")[0].text == "Back to add new template"
|
||||
assert page.select(".page-footer-back-link")[0].text == "Back to templates"
|
||||
assert page.select(".page-footer-back-link")[0]['href'] == url_for(
|
||||
'.add_template_by_type',
|
||||
service_id=service_one['id'],
|
||||
'.choose_template',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
template_id='0',
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user