mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-22 00:11:16 -05:00
Refactor "create_user" to actually create a user
This switches a number of fixtures to use "sample_user", which is equivalent to calling the previous "create_user" function when it used to default the email to "notify@...".
This commit is contained in:
@@ -71,11 +71,11 @@ def rmock():
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def service_factory(notify_db, notify_db_session):
|
||||
def service_factory(notify_db, notify_db_session, sample_user):
|
||||
class ServiceFactory(object):
|
||||
def get(self, service_name, user=None, template_type=None, email_from=None):
|
||||
if not user:
|
||||
user = create_user()
|
||||
user = sample_user
|
||||
if not email_from:
|
||||
email_from = service_name
|
||||
|
||||
@@ -106,7 +106,9 @@ def service_factory(notify_db, notify_db_session):
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def sample_user(notify_db_session):
|
||||
return create_user()
|
||||
return create_user(
|
||||
email='notify@digital.cabinet-office.gov.uk'
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
@@ -131,8 +133,7 @@ def sample_sms_code(notify_db_session):
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def sample_service(notify_db_session):
|
||||
user = create_user()
|
||||
def sample_service(notify_db_session, sample_user):
|
||||
service_name = 'Sample service'
|
||||
email_from = service_name.lower().replace(' ', '.')
|
||||
|
||||
@@ -141,23 +142,22 @@ def sample_service(notify_db_session):
|
||||
'message_limit': 1000,
|
||||
'restricted': False,
|
||||
'email_from': email_from,
|
||||
'created_by': user,
|
||||
'created_by': sample_user,
|
||||
'crown': True
|
||||
}
|
||||
service = Service.query.filter_by(name=service_name).first()
|
||||
if not service:
|
||||
service = Service(**data)
|
||||
dao_create_service(service, user, service_permissions=None)
|
||||
dao_create_service(service, sample_user, service_permissions=None)
|
||||
else:
|
||||
if user not in service.users:
|
||||
dao_add_user_to_service(service, user)
|
||||
if sample_user not in service.users:
|
||||
dao_add_user_to_service(service, sample_user)
|
||||
|
||||
return service
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def sample_broadcast_service(notify_db_session, broadcast_organisation):
|
||||
user = create_user()
|
||||
def sample_broadcast_service(notify_db_session, broadcast_organisation, sample_user):
|
||||
service_name = 'Sample broadcast service'
|
||||
email_from = service_name.lower().replace(' ', '.')
|
||||
|
||||
@@ -166,19 +166,19 @@ def sample_broadcast_service(notify_db_session, broadcast_organisation):
|
||||
'message_limit': 1000,
|
||||
'restricted': False,
|
||||
'email_from': email_from,
|
||||
'created_by': user,
|
||||
'created_by': sample_user,
|
||||
'crown': True,
|
||||
'count_as_live': False,
|
||||
}
|
||||
service = Service.query.filter_by(name=service_name).first()
|
||||
if not service:
|
||||
service = Service(**data)
|
||||
dao_create_service(service, user, service_permissions=[BROADCAST_TYPE])
|
||||
dao_create_service(service, sample_user, service_permissions=[BROADCAST_TYPE])
|
||||
insert_or_update_service_broadcast_settings(service, channel="severe")
|
||||
dao_add_service_to_organisation(service, current_app.config['BROADCAST_ORGANISATION_ID'])
|
||||
else:
|
||||
if user not in service.users:
|
||||
dao_add_user_to_service(service, user)
|
||||
if sample_user not in service.users:
|
||||
dao_add_user_to_service(service, sample_user)
|
||||
|
||||
return service
|
||||
|
||||
@@ -201,8 +201,7 @@ def _sample_service_custom_letter_contact_block(sample_service):
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def sample_template(notify_db_session):
|
||||
user = create_user()
|
||||
def sample_template(notify_db_session, sample_user):
|
||||
service = create_service(service_permissions=[EMAIL_TYPE, SMS_TYPE], check_if_service_exists=True)
|
||||
|
||||
data = {
|
||||
@@ -210,7 +209,7 @@ def sample_template(notify_db_session):
|
||||
'template_type': 'sms',
|
||||
'content': 'This is a template:\nwith a newline',
|
||||
'service': service,
|
||||
'created_by': user,
|
||||
'created_by': sample_user,
|
||||
'archived': False,
|
||||
'hidden': False,
|
||||
'process_type': 'normal'
|
||||
@@ -240,15 +239,14 @@ def sample_sms_template_with_html(sample_service):
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def sample_email_template(notify_db_session):
|
||||
user = create_user()
|
||||
service = create_service(user=user, service_permissions=[EMAIL_TYPE, SMS_TYPE], check_if_service_exists=True)
|
||||
def sample_email_template(notify_db_session, sample_user):
|
||||
service = create_service(user=sample_user, service_permissions=[EMAIL_TYPE, SMS_TYPE], check_if_service_exists=True)
|
||||
data = {
|
||||
'name': 'Email Template Name',
|
||||
'template_type': EMAIL_TYPE,
|
||||
'content': 'This is a template',
|
||||
'service': service,
|
||||
'created_by': user,
|
||||
'created_by': sample_user,
|
||||
'subject': 'Email Subject'
|
||||
}
|
||||
template = Template(**data)
|
||||
@@ -551,18 +549,17 @@ def sample_invited_org_user(sample_user, sample_organisation):
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def sample_user_service_permission(notify_db_session):
|
||||
user = create_user()
|
||||
service = create_service(user=user, check_if_service_exists=True)
|
||||
def sample_user_service_permission(notify_db_session, sample_user):
|
||||
service = create_service(user=sample_user, check_if_service_exists=True)
|
||||
permission = 'manage_settings'
|
||||
|
||||
data = {
|
||||
'user': user,
|
||||
'user': sample_user,
|
||||
'service': service,
|
||||
'permission': permission
|
||||
}
|
||||
p_model = Permission.query.filter_by(
|
||||
user=user,
|
||||
user=sample_user,
|
||||
service=service,
|
||||
permission=permission).first()
|
||||
if not p_model:
|
||||
@@ -828,8 +825,7 @@ def letter_volumes_email_template(notify_service):
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def notify_service(notify_db, notify_db_session):
|
||||
user = create_user()
|
||||
def notify_service(notify_db, notify_db_session, sample_user):
|
||||
service = Service.query.get(current_app.config['NOTIFY_SERVICE_ID'])
|
||||
if not service:
|
||||
service = Service(
|
||||
@@ -837,13 +833,13 @@ def notify_service(notify_db, notify_db_session):
|
||||
message_limit=1000,
|
||||
restricted=False,
|
||||
email_from='notify.service',
|
||||
created_by=user,
|
||||
created_by=sample_user,
|
||||
prefix_sms=False,
|
||||
)
|
||||
dao_create_service(
|
||||
service=service,
|
||||
service_id=current_app.config['NOTIFY_SERVICE_ID'],
|
||||
user=user
|
||||
user=sample_user
|
||||
)
|
||||
|
||||
data = {
|
||||
|
||||
@@ -81,7 +81,7 @@ from app.models import (
|
||||
def create_user(
|
||||
*,
|
||||
mobile_number="+447700900986",
|
||||
email="notify@digital.cabinet-office.gov.uk",
|
||||
email=None,
|
||||
state='active',
|
||||
id_=None,
|
||||
name="Test User"
|
||||
@@ -89,7 +89,7 @@ def create_user(
|
||||
data = {
|
||||
'id': id_ or uuid.uuid4(),
|
||||
'name': name,
|
||||
'email_address': email,
|
||||
'email_address': email or f"{uuid.uuid4()}@digital.cabinet-office.gov.uk",
|
||||
'password': 'password',
|
||||
'mobile_number': mobile_number,
|
||||
'state': state
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import uuid
|
||||
|
||||
from app.commands import local_dev_broadcast_permissions
|
||||
from app.dao.services_dao import dao_add_user_to_service
|
||||
from tests.app.db import create_user
|
||||
@@ -10,8 +8,7 @@ def test_local_dev_broadcast_permissions(
|
||||
sample_broadcast_service,
|
||||
notify_api,
|
||||
):
|
||||
# create_user will pull existing unless email is unique
|
||||
user = create_user(email=f'{uuid.uuid4()}@example.com')
|
||||
user = create_user()
|
||||
dao_add_user_to_service(sample_service, user)
|
||||
dao_add_user_to_service(sample_broadcast_service, user)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user