Only return active SMS senders

Updated the DAO methods which return a single SMS sender and all SMS senders
to only return the non-archived senders. Changed the error raised in the Admin
interface from a SQLAlchemyError to a BadRequestError.
This commit is contained in:
Katie Smith
2018-04-25 14:23:00 +01:00
parent f810daa3c5
commit 663021e494
7 changed files with 77 additions and 19 deletions

View File

@@ -10,7 +10,7 @@ from app.dao.service_sms_sender_dao import (
dao_get_sms_senders_by_service_id,
update_existing_sms_sender_with_inbound_number)
from app.models import ServiceSmsSender
from tests.app.db import create_service, create_inbound_number
from tests.app.db import create_service, create_inbound_number, create_service_sms_sender
def test_dao_get_service_sms_senders_id(notify_db_session):
@@ -32,6 +32,18 @@ def test_dao_get_service_sms_senders_id_raise_exception_when_not_found(notify_db
service_sms_sender_id=uuid.uuid4())
def test_dao_get_service_sms_senders_id_raises_exception_with_archived_sms_sender(notify_db_session):
service = create_service()
archived_sms_sender = create_service_sms_sender(
service=service,
sms_sender="second",
is_default=False,
archived=True)
with pytest.raises(expected_exception=SQLAlchemyError):
dao_get_service_sms_senders_by_id(service_id=service.id,
service_sms_sender_id=archived_sms_sender.id)
def test_dao_get_sms_senders_by_service_id(notify_db_session):
service = create_service()
second_sender = dao_add_sms_sender_for_service(service_id=service.id,
@@ -47,6 +59,19 @@ def test_dao_get_sms_senders_by_service_id(notify_db_session):
assert x == second_sender
def test_dao_get_sms_senders_by_service_id_does_not_return_archived_senders(notify_db_session):
service = create_service()
archived_sms_sender = create_service_sms_sender(
service=service,
sms_sender="second",
is_default=False,
archived=True)
results = dao_get_sms_senders_by_service_id(service_id=service.id)
assert len(results) == 1
assert archived_sms_sender not in results
def test_dao_add_sms_sender_for_service(notify_db_session):
service = create_service()
new_sms_sender = dao_add_sms_sender_for_service(service_id=service.id,