Add service_email_reply_to DAO with an upsert method

This commit is contained in:
Katie Smith
2017-09-08 11:14:26 +01:00
committed by Imdad Ahad
parent 1d01f4e447
commit 01eef6c7f5
3 changed files with 92 additions and 1 deletions

View File

@@ -0,0 +1,41 @@
from app.dao.service_email_reply_to_dao import (
create_or_update_email_reply_to,
dao_get_reply_to_by_service_id
)
from app.models import ServiceEmailReplyTo
from tests.app.db import create_reply_to_email, create_service
def test_create_or_update_email_reply_to_does_not_create_another_entry(notify_db_session):
service = create_service()
create_reply_to_email(service, 'test@mail.com')
create_or_update_email_reply_to(service.id, 'different@mail.com')
reply_to = dao_get_reply_to_by_service_id(service.id)
assert ServiceEmailReplyTo.query.count() == 1
def test_create_or_update_email_reply_to_updates_existing_entry(notify_db_session):
service = create_service()
create_reply_to_email(service, 'test@mail.com')
create_or_update_email_reply_to(service.id, 'different@mail.com')
reply_to = dao_get_reply_to_by_service_id(service.id)
assert reply_to.service.id == service.id
assert reply_to.email_address == 'different@mail.com'
def test_create_or_update_email_reply_to_creates_new_entry(notify_db_session):
service = create_service()
create_or_update_email_reply_to(service.id, 'test@mail.com')
reply_to = dao_get_reply_to_by_service_id(service.id)
assert ServiceEmailReplyTo.query.count() == 1
assert reply_to.service.id == service.id
assert reply_to.email_address == 'test@mail.com'

View File

@@ -25,7 +25,9 @@ from app.models import (
SMS_TYPE,
INBOUND_SMS_TYPE,
KEY_TYPE_NORMAL,
ServiceInboundApi)
ServiceInboundApi,
ServiceEmailReplyTo
)
from app.dao.users_dao import save_model_user
from app.dao.notifications_dao import dao_create_notification, dao_created_scheduled_notification
from app.dao.templates_dao import dao_create_template
@@ -327,3 +329,19 @@ def create_monthly_billing_entry(
db.session.commit()
return entry
def create_reply_to_email(
service,
email_address
):
data = {
'service': service,
'email_address': email_address,
}
reply_to = ServiceEmailReplyTo(**data)
db.session.add(reply_to)
db.session.commit()
return reply_to