mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-27 19:29:11 -04:00
Refactor platform admin user fixtures
To make the code more DRY
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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()),
|
||||
|
||||
Reference in New Issue
Block a user