Refactor code for dao_fetch_servies_by_sms_sender to use inbound_numbers

This will need to be refactored after the deployment of api and admin and after the update script for existing services using inbound numbers has been executed.
This commit is contained in:
Ken Tsang
2017-08-16 12:27:42 +01:00
parent ce962380e3
commit c36423aac6
5 changed files with 113 additions and 22 deletions

View File

@@ -61,7 +61,7 @@ from app.models import (
SERVICE_PERMISSION_TYPES
)
from tests.app.db import create_user, create_service
from tests.app.db import create_inbound_number, create_user, create_service
from tests.app.conftest import (
sample_notification as create_notification,
sample_notification_history as create_notification_history,
@@ -892,14 +892,67 @@ def test_dao_fetch_active_users_for_service_returns_active_only(notify_db, notif
assert len(users) == 1
def test_dao_fetch_services_by_sms_sender(notify_db_session):
foo1 = create_service(service_name='a', sms_sender='foo')
foo2 = create_service(service_name='b', sms_sender='foo')
bar = create_service(service_name='c', sms_sender='bar')
def test_dao_fetch_services_by_sms_sender_with_inbound_number(notify_db_session):
foo1 = create_service(service_name='a', sms_sender='1')
foo2 = create_service(service_name='b', sms_sender='2')
bar = create_service(service_name='c', sms_sender='3')
create_inbound_number('1')
create_inbound_number('2')
create_inbound_number('3')
services = dao_fetch_services_by_sms_sender('foo')
services = dao_fetch_services_by_sms_sender('1')
assert {foo1.id, foo2.id} == {x.id for x in services}
assert len(services) == 1
assert foo1.id == services[0].id
def test_dao_fetch_services_by_sms_sender_with_inbound_number_not_set(notify_db_session):
create_inbound_number('1')
services = dao_fetch_services_by_sms_sender('1')
assert services == []
def test_dao_fetch_services_by_sms_sender_when_inbound_number_set(notify_db_session):
service = create_service(service_name='a', sms_sender=None)
service = create_service(service_name='b')
inbound_number = create_inbound_number('1', service_id=service.id)
services = dao_fetch_services_by_sms_sender('1')
assert len(services) == 1
assert services[0].id == service.id
def test_dao_fetch_services_by_sms_sender_when_inbound_number_set_and_sms_sender_same(notify_db_session):
service = create_service(service_name='a', sms_sender=None)
service = create_service(service_name='b', sms_sender='1')
inbound_number = create_inbound_number('1', service_id=service.id)
services = dao_fetch_services_by_sms_sender('1')
assert len(services) == 1
assert services[0].id == service.id
def test_dao_fetch_services_by_sms_sender_when_inbound_number_not_set_gets_sms_sender(notify_db_session):
service = create_service(service_name='a', sms_sender=None)
service = create_service(service_name='b', sms_sender='testing_gov')
inbound_number = create_inbound_number('1', service_id=service.id)
services = dao_fetch_services_by_sms_sender('testing_gov')
assert services == []
def test_dao_fetch_services_by_sms_sender_with_unknown_number(notify_db_session):
service = create_service(service_name='a', sms_sender=None)
inbound_number = create_inbound_number('1', service_id=service.id)
services = dao_fetch_services_by_sms_sender('9')
assert services == []
def test_dao_allocating_inbound_number_shows_on_service(notify_db_session, sample_inbound_numbers):