diff --git a/app/templates/views/invite-user.html b/app/templates/views/invite-user.html
index 34f7adb4a..c0f41fa4e 100644
--- a/app/templates/views/invite-user.html
+++ b/app/templates/views/invite-user.html
@@ -4,13 +4,13 @@
{% from "components/page-footer.html" import page_footer %}
{% block service_page_title %}
-Manage users
+ Invite a team member
{% endblock %}
{% block maincolumn_content %}
- {{ "Invite a team member" }}
+ Invite a team member
diff --git a/tests/app/main/views/test_manage_users.py b/tests/app/main/views/test_manage_users.py
index 60c257835..a95f2b753 100644
--- a/tests/app/main/views/test_manage_users.py
+++ b/tests/app/main/views/test_manage_users.py
@@ -8,26 +8,80 @@ from tests.conftest import service_one as create_sample_service
from tests.conftest import (
normalize_spaces,
SERVICE_ONE_ID,
+ active_user_with_permissions,
+ active_user_view_permissions,
)
+@pytest.mark.parametrize('user, expected_text', [
+ (
+ active_user_with_permissions,
+ (
+ 'Test User (you) '
+ 'Can Send messages Can Manage service Can Access API keys'
+ ),
+ ),
+ (
+ active_user_view_permissions,
+ (
+ 'Test User With Permissions (you) '
+ 'Can’t Send messages Can’t Manage service Can’t Access API keys'
+ ),
+ ),
+])
def test_should_show_overview_page(
client_request,
- active_user_with_permissions,
mocker,
mock_get_invites_for_service,
+ fake_uuid,
+ user,
+ expected_text,
):
- mocker.patch('app.user_api_client.get_users_for_service', return_value=[active_user_with_permissions])
+ mocker.patch('app.user_api_client.get_users_for_service', return_value=[user(fake_uuid)])
page = client_request.get('main.manage_users', service_id=SERVICE_ONE_ID)
assert normalize_spaces(page.select_one('h1').text) == 'Team members'
+ assert normalize_spaces(page.select_one('.user-list-item').text) == (
+ expected_text
+ )
app.user_api_client.get_users_for_service.assert_called_once_with(service_id=SERVICE_ONE_ID)
+@pytest.mark.parametrize('endpoint, extra_args, expected_checkboxes', [
+ (
+ 'main.edit_user_permissions',
+ {'user_id': 0},
+ [
+ ('send_messages', True),
+ ('manage_service', True),
+ ('manage_api_keys', True),
+ ]
+ ),
+ (
+ 'main.invite_user',
+ {},
+ [
+ ('send_messages', False),
+ ('manage_service', False),
+ ('manage_api_keys', False),
+ ]
+ ),
+])
def test_should_show_page_for_one_user(
client_request,
+ endpoint,
+ extra_args,
+ expected_checkboxes,
):
- page = client_request.get('main.edit_user_permissions', service_id=SERVICE_ONE_ID, user_id=0)
+ page = client_request.get(endpoint, service_id=SERVICE_ONE_ID, **extra_args)
+ checkboxes = page.select('input[type=checkbox]')
+
+ assert len(checkboxes) == 3
+
+ for index, expected in enumerate(expected_checkboxes):
+ expected_input_name, expected_checked = expected
+ assert checkboxes[index]['name'] == expected_input_name
+ assert checkboxes[index].has_attr('checked') == expected_checked
def test_edit_user_permissions(
@@ -187,9 +241,11 @@ def test_manage_users_shows_invited_user(
page = client_request.get('main.manage_users', service_id=SERVICE_ONE_ID)
assert page.h1.string.strip() == 'Team members'
- invited_users_list = page.find_all('div', {'class': 'user-list'})[1]
- assert invited_users_list.find_all('h3')[0].text.strip() == 'invited_user@test.gov.uk'
- assert invited_users_list.find_all('a')[0].text.strip() == 'Cancel invitation'
+ assert normalize_spaces(page.select('.user-list')[1].text) == (
+ 'invited_user@test.gov.uk '
+ 'Can’t Send messages Can’t Manage service Can Access API keys '
+ 'Cancel invitation'
+ )
def test_manage_users_does_not_show_accepted_invite(