Refactor platform admin user fixtures

To make the code more DRY
This commit is contained in:
Pea Tyczynska
2021-04-20 12:22:28 +01:00
parent 0c0d9dd72f
commit 6999d3bceb
2 changed files with 15 additions and 52 deletions

View File

@@ -39,7 +39,6 @@ from tests.conftest import (
create_active_user_with_permissions,
create_multiple_email_reply_to_addresses,
create_multiple_sms_senders,
create_platform_admin_user,
create_template,
mock_get_service_email_template,
mock_get_service_letter_template,
@@ -1614,13 +1613,14 @@ def test_no_link_to_use_existing_list_for_service_without_lists(
client_request,
mock_get_service_template,
mock_has_jobs,
platform_admin_user,
fake_uuid,
):
mocker.patch(
'app.models.contact_list.ContactLists.client_method',
return_value=[],
)
client_request.login(create_platform_admin_user())
client_request.login(platform_admin_user)
page = client_request.get(
'main.send_one_off',
service_id=SERVICE_ONE_ID,

View File

@@ -1082,30 +1082,16 @@ def api_user_pending(fake_uuid):
@pytest.fixture(scope='function')
def platform_admin_user(fake_uuid):
user_data = {'id': fake_uuid,
'name': 'Platform admin user',
'password': 'somepassword',
'email_address': 'platform@admin.gov.uk',
'mobile_number': '07700 900762',
'state': 'active',
'failed_login_count': 0,
'permissions': {SERVICE_ONE_ID: ['send_texts',
'send_emails',
'send_letters',
'manage_users',
'manage_templates',
'manage_settings',
'manage_api_keys',
'view_activity']},
'platform_admin': True,
'auth_type': 'sms_auth',
'password_changed_at': str(datetime.utcnow()),
'services': [],
'organisations': [],
'current_session_id': None,
'logged_in_at': None,
}
return user_data
return create_platform_admin_user(permissions={SERVICE_ONE_ID: [
'send_texts',
'send_emails',
'send_letters',
'manage_users',
'manage_templates',
'manage_settings',
'manage_api_keys',
'view_activity'
]})
@pytest.fixture(scope='function')
@@ -1114,23 +1100,7 @@ def platform_admin_user_no_service_permissions():
this fixture is for situations where we want to test that platform admin can access
an endpoint even though they have no explicit permissions for that service.
"""
user_data = {'id': uuid4(),
'name': 'Platform admin user no service permissions',
'password': 'somepassword',
'email_address': 'platform2@admin.gov.uk',
'mobile_number': '07700 900763',
'state': 'active',
'failed_login_count': 0,
'permissions': {},
'platform_admin': True,
'auth_type': 'sms_auth',
'password_changed_at': str(datetime.utcnow()),
'services': [],
'organisations': [],
'current_session_id': None,
'logged_in_at': None,
}
return user_data
return create_platform_admin_user()
@pytest.fixture(scope='function')
@@ -3998,7 +3968,7 @@ def create_active_user_manage_template_permissions(with_unique_id=False):
}
def create_platform_admin_user(with_unique_id=False):
def create_platform_admin_user(with_unique_id=False, permissions=None):
return {
'id': str(uuid4()) if with_unique_id else sample_uuid(),
'name': 'Platform admin user',
@@ -4007,14 +3977,7 @@ def create_platform_admin_user(with_unique_id=False):
'mobile_number': '07700 900762',
'state': 'active',
'failed_login_count': 0,
'permissions': {SERVICE_ONE_ID: ['send_texts',
'send_emails',
'send_letters',
'manage_users',
'manage_templates',
'manage_settings',
'manage_api_keys',
'view_activity']},
'permissions': permissions or {},
'platform_admin': True,
'auth_type': 'sms_auth',
'password_changed_at': str(datetime.utcnow()),