Stop calling fixtures as functions in the tests

This commit is contained in:
Katie Smith
2019-10-30 10:51:07 +00:00
parent fb875c50c1
commit 38243cf860
11 changed files with 75 additions and 158 deletions

View File

@@ -6,11 +6,8 @@ from app.dao.services_dao import dao_add_user_to_service
from app.models import Notification, EMAIL_TYPE, SMS_TYPE
from app.service.sender import send_notification_to_service_users
from tests.app.conftest import (
notify_service as create_notify_service,
sample_service as create_sample_service
)
from tests.app.db import create_template, create_user
from tests.app.conftest import notify_service as create_notify_service
from tests.app.db import create_service, create_template, create_user
@pytest.mark.parametrize('notification_type', [
@@ -21,16 +18,16 @@ def test_send_notification_to_service_users_persists_notifications_correctly(
notify_db,
notify_db_session,
notification_type,
sample_user,
sample_service,
mocker
):
mocker.patch('app.service.sender.send_notification_to_queue')
notify_service, user = create_notify_service(notify_db, notify_db_session)
service = create_sample_service(notify_db, notify_db_session, user=sample_user)
template = create_template(service, template_type=notification_type)
send_notification_to_service_users(service_id=service.id, template_id=template.id)
to = sample_user.email_address if notification_type == EMAIL_TYPE else sample_user.mobile_number
notify_service, _ = create_notify_service(notify_db, notify_db_session)
user = sample_service.users[0]
template = create_template(sample_service, template_type=notification_type)
send_notification_to_service_users(service_id=sample_service.id, template_id=template.id)
to = user.email_address if notification_type == EMAIL_TYPE else user.mobile_number
notification = Notification.query.one()
@@ -46,15 +43,14 @@ def test_send_notification_to_service_users_persists_notifications_correctly(
def test_send_notification_to_service_users_sends_to_queue(
notify_db,
notify_db_session,
sample_user,
sample_service,
mocker
):
send_mock = mocker.patch('app.service.sender.send_notification_to_queue')
create_notify_service(notify_db, notify_db_session)
service = create_sample_service(notify_db, notify_db_session, user=sample_user)
template = create_template(service, template_type=EMAIL_TYPE)
send_notification_to_service_users(service_id=service.id, template_id=template.id)
template = create_template(sample_service, template_type=EMAIL_TYPE)
send_notification_to_service_users(service_id=sample_service.id, template_id=template.id)
assert send_mock.called
assert send_mock.call_count == 1
@@ -63,17 +59,18 @@ def test_send_notification_to_service_users_sends_to_queue(
def test_send_notification_to_service_users_includes_user_fields_in_personalisation(
notify_db,
notify_db_session,
sample_user,
sample_service,
mocker
):
persist_mock = mocker.patch('app.service.sender.persist_notification')
mocker.patch('app.service.sender.send_notification_to_queue')
create_notify_service(notify_db, notify_db_session)
service = create_sample_service(notify_db, notify_db_session, user=sample_user)
template = create_template(service, template_type=EMAIL_TYPE)
user = sample_service.users[0]
template = create_template(sample_service, template_type=EMAIL_TYPE)
send_notification_to_service_users(
service_id=service.id,
service_id=sample_service.id,
template_id=template.id,
include_user_fields=['name', 'email_address', 'state']
)
@@ -82,9 +79,9 @@ def test_send_notification_to_service_users_includes_user_fields_in_personalisat
assert len(persist_mock.call_args_list) == 1
assert persist_call['personalisation'] == {
'name': sample_user.name,
'email_address': sample_user.email_address,
'state': sample_user.state,
'name': user.name,
'email_address': user.email_address,
'state': user.state,
}
@@ -100,7 +97,7 @@ def test_send_notification_to_service_users_sends_to_active_users_only(
first_active_user = create_user(email='foo@bar.com', state='active')
second_active_user = create_user(email='foo1@bar.com', state='active')
pending_user = create_user(email='foo2@bar.com', state='pending')
service = create_sample_service(notify_db, notify_db_session, user=first_active_user)
service = create_service(user=first_active_user)
dao_add_user_to_service(service, second_active_user)
dao_add_user_to_service(service, pending_user)
template = create_template(service, template_type=EMAIL_TYPE)