Reduce the errors related to user fixtures

We were using user fixtures in a lot of parameterized tests, but this is
no longer allowed in Pytest 5. To avoid having to split up the parametrized
tests (which would make the test files a lot longer and slightly more
difficult to read) this commit creates functions which return various types
of user json so that we can use these as the test parameters instead.
This commit is contained in:
Katie Smith
2019-12-19 16:59:07 +00:00
parent b62018a8e4
commit e4134072d9
17 changed files with 412 additions and 231 deletions

View File

@@ -10,9 +10,9 @@ from tests.conftest import (
SERVICE_ONE_ID,
TEMPLATE_ONE_ID,
_template,
active_caseworking_user,
active_user_view_permissions,
active_user_with_permissions,
create_active_caseworking_user,
create_active_user_view_permissions,
create_active_user_with_permissions,
normalize_spaces,
)
@@ -507,8 +507,9 @@ def test_get_manage_folder_viewing_permissions_for_users(
mocker
):
folder_id = str(uuid.uuid4())
team_member = active_user_view_permissions(str(uuid.uuid4()))
team_member_2 = active_user_view_permissions(str(uuid.uuid4()))
team_member = create_active_user_view_permissions(with_unique_id=True)
team_member_2 = create_active_user_view_permissions(with_unique_id=True)
mock_get_template_folders.return_value = [
_folder('folder_two', folder_id, None, [active_user_with_permissions['id'], team_member_2['id']]),
]
@@ -556,8 +557,8 @@ def test_get_manage_folder_viewing_permissions_for_users_not_visible_when_no_man
'view_activity',
]
folder_id = str(uuid.uuid4())
team_member = active_user_view_permissions(str(uuid.uuid4()))
team_member_2 = active_user_view_permissions(str(uuid.uuid4()))
team_member = create_active_user_view_permissions(with_unique_id=True)
team_member_2 = create_active_user_view_permissions(with_unique_id=True)
service_one["permissions"] += ["edit_folder_permissions"]
mock_get_template_folders.return_value = [
{'id': folder_id, 'name': 'folder_two', 'parent_id': None, 'users_with_permission': [
@@ -737,7 +738,7 @@ def test_rename_folder(client_request, active_user_with_permissions, service_one
def test_manage_folder_users(
client_request, active_user_with_permissions, service_one, mock_get_template_folders, mocker
):
team_member = active_user_view_permissions(str(uuid.uuid4()))
team_member = create_active_user_view_permissions(with_unique_id=True)
mock_update = mocker.patch('app.template_folder_api_client.update_template_folder')
folder_id = str(uuid.uuid4())
mock_get_template_folders.return_value = [
@@ -778,7 +779,7 @@ def test_manage_folder_users_doesnt_change_permissions_current_user_cannot_manag
'manage_api_keys',
'view_activity',
]
team_member = active_user_view_permissions(str(uuid.uuid4()))
team_member = create_active_user_view_permissions(with_unique_id=True)
mock_update = mocker.patch('app.template_folder_api_client.update_template_folder')
folder_id = str(uuid.uuid4())
mock_get_template_folders.return_value = [
@@ -907,14 +908,14 @@ def test_delete_folder(client_request, service_one, mock_get_template_folders, m
@pytest.mark.parametrize('user', [
pytest.param(
active_user_with_permissions
create_active_user_with_permissions()
),
pytest.param(
active_user_view_permissions,
create_active_user_view_permissions(),
marks=pytest.mark.xfail(raises=AssertionError)
),
pytest.param(
active_caseworking_user,
create_active_caseworking_user(),
marks=pytest.mark.xfail(raises=AssertionError)
),
])
@@ -925,10 +926,9 @@ def test_should_show_checkboxes_for_selecting_templates(
mock_get_service_templates,
mock_get_template_folders,
mock_has_no_jobs,
fake_uuid,
user,
):
client_request.login(user(fake_uuid))
client_request.login(user)
page = client_request.get(
'main.choose_template',
@@ -947,10 +947,10 @@ def test_should_show_checkboxes_for_selecting_templates(
@pytest.mark.parametrize('user', [
active_user_view_permissions,
active_caseworking_user,
create_active_user_view_permissions(),
create_active_caseworking_user(),
pytest.param(
active_user_with_permissions,
create_active_user_with_permissions(),
marks=pytest.mark.xfail(raises=AssertionError),
),
])
@@ -961,10 +961,9 @@ def test_should_not_show_radios_and_buttons_for_move_destination_if_incorrect_pe
mock_get_service_templates,
mock_get_template_folders,
mock_has_no_jobs,
fake_uuid,
user,
):
client_request.login(user(fake_uuid))
client_request.login(user)
page = client_request.get(
'main.choose_template',
@@ -1086,8 +1085,8 @@ def test_should_be_able_to_move_to_existing_folder(
@pytest.mark.parametrize('user, expected_status, expected_called', [
(active_user_view_permissions, 403, False),
(active_user_with_permissions, 302, True),
(create_active_user_view_permissions(), 403, False),
(create_active_user_with_permissions(), 302, True),
])
def test_should_not_be_able_to_move_to_existing_folder_if_dont_have_permission(
client_request,
@@ -1100,7 +1099,7 @@ def test_should_not_be_able_to_move_to_existing_folder_if_dont_have_permission(
expected_status,
expected_called,
):
client_request.login(user(fake_uuid))
client_request.login(user)
FOLDER_TWO_ID = str(uuid.uuid4())
mock_get_template_folders.return_value = [
_folder('folder_one', PARENT_FOLDER_ID, None),