mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-16 20:49:00 -04:00
Merge pull request #1163 from alphagov/unified-template-page
Merge email, text message and letter templates pages
This commit is contained in:
@@ -324,11 +324,7 @@ def test_menu_send_messages(
|
||||
assert url_for(
|
||||
'main.choose_template',
|
||||
service_id=service_one['id'],
|
||||
template_type='email') in page
|
||||
assert url_for(
|
||||
'main.choose_template',
|
||||
service_id=service_one['id'],
|
||||
template_type='sms') in page
|
||||
) in page
|
||||
assert url_for('main.manage_users', service_id=service_one['id']) in page
|
||||
|
||||
assert url_for('main.service_settings', service_id=service_one['id']) not in page
|
||||
@@ -358,11 +354,7 @@ def test_menu_manage_service(
|
||||
assert url_for(
|
||||
'main.choose_template',
|
||||
service_id=service_one['id'],
|
||||
template_type='email') in page
|
||||
assert url_for(
|
||||
'main.choose_template',
|
||||
service_id=service_one['id'],
|
||||
template_type='sms') in page
|
||||
) in page
|
||||
assert url_for('main.manage_users', service_id=service_one['id']) in page
|
||||
assert url_for('main.service_settings', service_id=service_one['id']) in page
|
||||
|
||||
@@ -391,11 +383,7 @@ def test_menu_manage_api_keys(
|
||||
assert url_for(
|
||||
'main.choose_template',
|
||||
service_id=service_one['id'],
|
||||
template_type='email') in page
|
||||
assert url_for(
|
||||
'main.choose_template',
|
||||
service_id=service_one['id'],
|
||||
template_type='sms') in page
|
||||
) in page
|
||||
assert url_for('main.manage_users', service_id=service_one['id']) in page
|
||||
assert url_for('main.service_settings', service_id=service_one['id']) not in page
|
||||
|
||||
@@ -421,8 +409,7 @@ def test_menu_all_services_for_platform_admin_user(
|
||||
service_one,
|
||||
[])
|
||||
page = resp.get_data(as_text=True)
|
||||
assert url_for('main.choose_template', service_id=service_one['id'], template_type='sms') in page
|
||||
assert url_for('main.choose_template', service_id=service_one['id'], template_type='email') in page
|
||||
assert url_for('main.choose_template', service_id=service_one['id']) in page
|
||||
assert url_for('main.manage_users', service_id=service_one['id']) in page
|
||||
assert url_for('main.service_settings', service_id=service_one['id']) in page
|
||||
assert url_for('main.view_notifications', service_id=service_one['id'], message_type='email') in page
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import pytest
|
||||
from bs4 import BeautifulSoup
|
||||
from flask import url_for
|
||||
from functools import partial
|
||||
|
||||
from tests import service_json
|
||||
|
||||
letters_urls = [
|
||||
partial(url_for, 'main.choose_template', template_type='letter'),
|
||||
partial(url_for, 'main.add_service_template', template_type='letter'),
|
||||
]
|
||||
|
||||
@@ -49,3 +49,29 @@ def test_letters_lets_in_without_permission(
|
||||
|
||||
assert api_user_active.permissions == {}
|
||||
assert response.status_code == 200
|
||||
|
||||
|
||||
@pytest.mark.parametrize('can_send_letters, choices', [
|
||||
(True, ['Email', 'Text message', 'Letter']),
|
||||
(False, ['Email', 'Text message'])
|
||||
])
|
||||
def test_given_option_to_add_letters_if_allowed(
|
||||
logged_in_client,
|
||||
service_one,
|
||||
mocker,
|
||||
can_send_letters,
|
||||
choices,
|
||||
):
|
||||
service_one['can_send_letters'] = can_send_letters
|
||||
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']))
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
radios = page.select('input[type=radio]')
|
||||
|
||||
assert len(radios) == len(choices)
|
||||
|
||||
for index, choice in enumerate(choices):
|
||||
assert radios[index].text.strip() == choice
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
from flask import url_for
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
from tests.conftest import mock_get_user
|
||||
|
||||
|
||||
def test_can_see_letters_if_allowed(
|
||||
logged_in_client,
|
||||
service_one,
|
||||
mocker,
|
||||
mock_get_users_by_service,
|
||||
mock_get_invites_for_service
|
||||
):
|
||||
service_one['can_send_letters'] = True
|
||||
mocker.patch('app.service_api_client.get_service', return_value={"data": service_one})
|
||||
|
||||
response = logged_in_client.get(url_for('main.manage_users', service_id=service_one['id']))
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
assert 'Letter templates' in page.find('nav', class_='navigation').text
|
||||
|
||||
|
||||
def test_cant_see_letters_if_not_allowed(
|
||||
logged_in_client,
|
||||
service_one,
|
||||
mocker,
|
||||
mock_get_users_by_service,
|
||||
mock_get_invites_for_service
|
||||
):
|
||||
service_one['can_send_letters'] = False
|
||||
mocker.patch('app.service_api_client.get_service', return_value={"data": service_one})
|
||||
|
||||
response = logged_in_client.get(url_for('main.manage_users', service_id=service_one['id']))
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
assert 'Letter templates' not in page.find('nav', class_='navigation').text
|
||||
|
||||
|
||||
def test_can_see_letters_without_edit_permissions(
|
||||
client,
|
||||
mocker,
|
||||
active_user_view_permissions,
|
||||
mock_get_users_by_service,
|
||||
mock_get_invites_for_service,
|
||||
service_one
|
||||
):
|
||||
mock_get_user(mocker, user=active_user_view_permissions)
|
||||
service_one['can_send_letters'] = True
|
||||
mocker.patch('app.service_api_client.get_service', return_value={"data": service_one})
|
||||
|
||||
client.login(active_user_view_permissions)
|
||||
response = client.get(url_for('main.manage_users', service_id=service_one['id']))
|
||||
|
||||
assert response.status_code == 200
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
assert 'Letter templates' in page.find('nav', class_='navigation').text
|
||||
@@ -622,8 +622,8 @@ def test_route_permissions(
|
||||
url_for(
|
||||
route,
|
||||
service_id=service_one['id'],
|
||||
template_type='sms',
|
||||
template_id=fake_uuid),
|
||||
template_id=fake_uuid
|
||||
),
|
||||
['send_texts', 'send_emails', 'send_letters'],
|
||||
api_user_active,
|
||||
service_one)
|
||||
@@ -686,7 +686,7 @@ def test_route_choose_template_manage_service_permissions(
|
||||
url_for(
|
||||
'main.choose_template',
|
||||
service_id=service_one['id'],
|
||||
template_type='sms'),
|
||||
),
|
||||
['manage_users', 'manage_templates', 'manage_settings'],
|
||||
api_user_active,
|
||||
service_one)
|
||||
@@ -1003,8 +1003,7 @@ def test_get_check_messages_back_url_returns_to_correct_select_template(client,
|
||||
|
||||
assert get_check_messages_back_url('1234', template_type) == url_for(
|
||||
'main.choose_template',
|
||||
service_id='1234',
|
||||
template_type=template_type
|
||||
service_id='1234'
|
||||
)
|
||||
|
||||
|
||||
@@ -1037,5 +1036,4 @@ def test_check_messages_back_from_help_handles_unexpected_templates(client, mock
|
||||
assert get_check_messages_back_url('1234', 'sms') == url_for(
|
||||
'main.choose_template',
|
||||
service_id='1234',
|
||||
template_type='sms'
|
||||
)
|
||||
|
||||
@@ -561,7 +561,7 @@ def test_route_permissions_for_choose_template(
|
||||
url_for(
|
||||
'main.choose_template',
|
||||
service_id=service_one['id'],
|
||||
template_type='sms'),
|
||||
),
|
||||
['view_activity'],
|
||||
api_user_active,
|
||||
service_one)
|
||||
|
||||
Reference in New Issue
Block a user