From 03ea09fd6ae5938cd516440da9089fa5af155679 Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Fri, 22 Sep 2017 10:02:59 +0100 Subject: [PATCH] Add order by in the dao_get_reply_to_by_service_id() --- app/dao/service_email_reply_to_dao.py | 4 +++- tests/app/dao/test_service_email_reply_to_dao.py | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/dao/service_email_reply_to_dao.py b/app/dao/service_email_reply_to_dao.py index d63395ab8..a3364ce4d 100644 --- a/app/dao/service_email_reply_to_dao.py +++ b/app/dao/service_email_reply_to_dao.py @@ -1,3 +1,5 @@ +from sqlalchemy import desc + from app import db from app.dao.dao_utils import transactional from app.errors import InvalidRequest @@ -9,7 +11,7 @@ def dao_get_reply_to_by_service_id(service_id): ServiceEmailReplyTo ).filter( ServiceEmailReplyTo.service_id == service_id - ).order_by(ServiceEmailReplyTo.created_at).all() + ).order_by(desc(ServiceEmailReplyTo.is_default), desc(ServiceEmailReplyTo.created_at)).all() return reply_to diff --git a/tests/app/dao/test_service_email_reply_to_dao.py b/tests/app/dao/test_service_email_reply_to_dao.py index f95badf80..66e5c261c 100644 --- a/tests/app/dao/test_service_email_reply_to_dao.py +++ b/tests/app/dao/test_service_email_reply_to_dao.py @@ -61,13 +61,15 @@ def test_create_or_update_email_reply_to_raises_exception_if_multilple_email_add def test_dao_get_reply_to_by_service_id(notify_db_session): service = create_service() default_reply_to = create_reply_to_email(service=service, email_address='something@email.com') + second_reply_to = create_reply_to_email(service=service, email_address='second@email.com', is_default=False) another_reply_to = create_reply_to_email(service=service, email_address='another@email.com', is_default=False) results = dao_get_reply_to_by_service_id(service_id=service.id) - assert len(results) == 2 - assert default_reply_to in results - assert another_reply_to in results + assert len(results) == 3 + assert default_reply_to == results[0] + assert another_reply_to == results[1] + assert second_reply_to == results[2] def test_add_reply_to_email_address_for_service_creates_first_email_for_service(notify_db_session):