Files
notifications-admin/tests/app/main/views/test_template_folders.py
2018-11-06 13:13:12 +00:00

62 lines
2.0 KiB
Python

from flask import url_for
def test_add_page_shows_option_for_folder(
client_request,
service_one,
mocker,
mock_get_service_templates,
mock_get_organisations_and_services_for_user,
):
service_one['permissions'] += ['edit_folders']
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'],
_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'
]
def test_get_add_template_folder_page(client_request, service_one):
service_one['permissions'] += ['edit_folders']
page = client_request.get('main.add_template_folder', service_id=service_one['id'])
assert page.find('input', attrs={'name': 'name'}) is not None
def test_add_template_folder_page_rejects_if_service_doesnt_have_permission(client_request, service_one):
client_request.get('main.add_template_folder', service_id=service_one['id'], _expected_status=403)
client_request.post('main.add_template_folder', service_id=service_one['id'], _expected_status=403)
def test_post_add_template_folder_page(client_request, service_one, mocker):
mock_create = mocker.patch('app.template_folder_api_client.create_template_folder')
service_one['permissions'] += ['edit_folders']
client_request.post(
'main.add_template_folder',
service_id=service_one['id'],
_data={'name': 'foo'},
_expected_redirect=url_for(
'main.choose_template',
service_id=service_one['id'],
_external=True,
)
)
mock_create.assert_called_once_with(service_one['id'], name='foo', parent_id=None)