mirror of
https://github.com/GSA/notifications-api.git
synced 2026-09-11 18:38:14 -04:00
Refactor the sms sender code to remove any unused methods.
Refactor tests/db/create_service() to behave more like the real world. Created new create_service_with_inbound_number and create_service_with_defined_sms_sender() test/db methods.
This commit is contained in:
@@ -4,7 +4,6 @@ import pytest
|
||||
from sqlalchemy.exc import SQLAlchemyError
|
||||
|
||||
from app.dao.service_sms_sender_dao import (
|
||||
insert_or_update_service_sms_sender,
|
||||
dao_add_sms_sender_for_service,
|
||||
dao_update_service_sms_sender,
|
||||
dao_get_service_sms_senders_by_id,
|
||||
@@ -14,34 +13,8 @@ from app.models import ServiceSmsSender
|
||||
from tests.app.db import create_service, create_inbound_number
|
||||
|
||||
|
||||
def test_update_service_sms_sender_updates_existing_row(notify_db_session):
|
||||
service = create_service()
|
||||
insert_or_update_service_sms_sender(service, 'testing')
|
||||
service_sms_senders = ServiceSmsSender.query.filter_by(service_id=service.id).all()
|
||||
assert len(service_sms_senders) == 1
|
||||
assert service_sms_senders[0].sms_sender == service.sms_sender
|
||||
|
||||
insert_or_update_service_sms_sender(service, 'NEW_SMS')
|
||||
|
||||
updated_sms_senders = ServiceSmsSender.query.filter_by(service_id=service.id).all()
|
||||
assert len(updated_sms_senders) == 1
|
||||
assert updated_sms_senders[0].sms_sender == 'NEW_SMS'
|
||||
assert updated_sms_senders[0].is_default
|
||||
|
||||
|
||||
def test_create_service_inserts_new_service_sms_sender(notify_db_session):
|
||||
assert ServiceSmsSender.query.count() == 0
|
||||
|
||||
service = create_service(sms_sender='new_sms')
|
||||
insert_or_update_service_sms_sender(service, 'new_sms')
|
||||
service_sms_senders = ServiceSmsSender.query.all()
|
||||
assert len(service_sms_senders) == 1
|
||||
assert service_sms_senders[0].sms_sender == 'new_sms'
|
||||
assert service_sms_senders[0].is_default
|
||||
|
||||
|
||||
def test_dao_get_service_sms_senders_id(notify_db_session):
|
||||
service = create_service(sms_sender='first_sms')
|
||||
service = create_service()
|
||||
second_sender = dao_add_sms_sender_for_service(service_id=service.id,
|
||||
sms_sender='second',
|
||||
is_default=False,
|
||||
@@ -60,7 +33,7 @@ def test_dao_get_service_sms_senders_id_raise_exception_when_not_found(notify_db
|
||||
|
||||
|
||||
def test_dao_get_sms_senders_by_service_id(notify_db_session):
|
||||
service = create_service(sms_sender='first_sms')
|
||||
service = create_service()
|
||||
second_sender = dao_add_sms_sender_for_service(service_id=service.id,
|
||||
sms_sender='second',
|
||||
is_default=False,
|
||||
@@ -69,13 +42,13 @@ def test_dao_get_sms_senders_by_service_id(notify_db_session):
|
||||
assert len(results) == 2
|
||||
for x in results:
|
||||
if x.is_default:
|
||||
assert x.sms_sender == 'first_sms'
|
||||
assert x.sms_sender == 'testing'
|
||||
else:
|
||||
assert x == second_sender
|
||||
|
||||
|
||||
def test_dao_add_sms_sender_for_service(notify_db_session):
|
||||
service = create_service(sms_sender="first_sms")
|
||||
service = create_service()
|
||||
new_sms_sender = dao_add_sms_sender_for_service(service_id=service.id,
|
||||
sms_sender='new_sms',
|
||||
is_default=False,
|
||||
@@ -83,13 +56,13 @@ def test_dao_add_sms_sender_for_service(notify_db_session):
|
||||
|
||||
service_sms_senders = ServiceSmsSender.query.order_by(ServiceSmsSender.created_at).all()
|
||||
assert len(service_sms_senders) == 2
|
||||
assert service_sms_senders[0].sms_sender == 'first_sms'
|
||||
assert service_sms_senders[0].sms_sender == 'testing'
|
||||
assert service_sms_senders[0].is_default
|
||||
assert service_sms_senders[1] == new_sms_sender
|
||||
|
||||
|
||||
def test_dao_add_sms_sender_for_service_switches_default(notify_db_session):
|
||||
service = create_service(sms_sender="first_sms")
|
||||
service = create_service()
|
||||
new_sms_sender = dao_add_sms_sender_for_service(service_id=service.id,
|
||||
sms_sender='new_sms',
|
||||
is_default=True,
|
||||
@@ -97,13 +70,13 @@ def test_dao_add_sms_sender_for_service_switches_default(notify_db_session):
|
||||
|
||||
service_sms_senders = ServiceSmsSender.query.order_by(ServiceSmsSender.created_at).all()
|
||||
assert len(service_sms_senders) == 2
|
||||
assert service_sms_senders[0].sms_sender == 'first_sms'
|
||||
assert service_sms_senders[0].sms_sender == 'testing'
|
||||
assert not service_sms_senders[0].is_default
|
||||
assert service_sms_senders[1] == new_sms_sender
|
||||
|
||||
|
||||
def test_dao_update_service_sms_sender(notify_db_session):
|
||||
service = create_service(sms_sender='first_sms')
|
||||
service = create_service()
|
||||
service_sms_senders = ServiceSmsSender.query.filter_by(service_id=service.id).all()
|
||||
assert len(service_sms_senders) == 1
|
||||
sms_sender_to_update = service_sms_senders[0]
|
||||
@@ -120,7 +93,7 @@ def test_dao_update_service_sms_sender(notify_db_session):
|
||||
|
||||
|
||||
def test_dao_update_service_sms_sender_switches_default(notify_db_session):
|
||||
service = create_service(sms_sender='first_sms')
|
||||
service = create_service()
|
||||
sms_sender = dao_add_sms_sender_for_service(service_id=service.id,
|
||||
sms_sender='new_sms',
|
||||
is_default=False,
|
||||
@@ -131,14 +104,14 @@ def test_dao_update_service_sms_sender_switches_default(notify_db_session):
|
||||
sms_sender="updated")
|
||||
sms_senders = ServiceSmsSender.query.filter_by(service_id=service.id).order_by(ServiceSmsSender.created_at).all()
|
||||
assert len(sms_senders) == 2
|
||||
assert sms_senders[0].sms_sender == 'first_sms'
|
||||
assert sms_senders[0].sms_sender == 'testing'
|
||||
assert not sms_senders[0].is_default
|
||||
assert sms_senders[1].sms_sender == 'updated'
|
||||
assert sms_senders[1].is_default
|
||||
|
||||
|
||||
def test_dao_update_service_sms_sender_raises_exception_when_no_default_after_update(notify_db_session):
|
||||
service = create_service(sms_sender='first_sms')
|
||||
service = create_service()
|
||||
sms_sender = dao_add_sms_sender_for_service(service_id=service.id,
|
||||
sms_sender='new_sms',
|
||||
is_default=True,
|
||||
@@ -151,7 +124,7 @@ def test_dao_update_service_sms_sender_raises_exception_when_no_default_after_up
|
||||
|
||||
|
||||
def test_update_existing_sms_sender_with_inbound_number(notify_db_session):
|
||||
service = create_service(sms_sender='testing')
|
||||
service = create_service()
|
||||
inbound_number = create_inbound_number(number='12345', service_id=service.id)
|
||||
|
||||
existing_sms_sender = ServiceSmsSender.query.filter_by(service_id=service.id).one()
|
||||
@@ -166,7 +139,7 @@ def test_update_existing_sms_sender_with_inbound_number(notify_db_session):
|
||||
def test_update_existing_sms_sender_with_inbound_number_raises_exception_if_inbound_number_does_not_exist(
|
||||
notify_db_session
|
||||
):
|
||||
service = create_service(sms_sender='testing')
|
||||
service = create_service()
|
||||
existing_sms_sender = ServiceSmsSender.query.filter_by(service_id=service.id).one()
|
||||
with pytest.raises(expected_exception=SQLAlchemyError):
|
||||
update_existing_sms_sender_with_inbound_number(service_sms_sender=existing_sms_sender,
|
||||
|
||||
Reference in New Issue
Block a user