def test_add_reply_to_email_address_can_add_a_third_reply_to_address(sample_service): add_reply_to_email_address_for_service(service_id=sample_service.id, email_address="*****@*****.**", is_default=True) add_reply_to_email_address_for_service( service_id=sample_service.id, email_address="*****@*****.**", is_default=False, ) add_reply_to_email_address_for_service( service_id=sample_service.id, email_address="*****@*****.**", is_default=False, ) results = dao_get_reply_to_by_service_id(service_id=sample_service.id) assert len(results) == 3 for x in results: if x.email_address == "*****@*****.**": assert x.is_default elif x.email_address == "*****@*****.**": assert not x.is_default elif x.email_address == "*****@*****.**": assert not x.is_default else: assert False
def check_if_reply_to_address_already_in_use(service_id, email_address): existing_reply_to_addresses = dao_get_reply_to_by_service_id(service_id) if email_address in [i.email_address for i in existing_reply_to_addresses]: raise InvalidRequest( "Your service already uses ‘{}’ as an email reply-to address.". format(email_address), status_code=400)
def test_add_reply_to_email_address_for_service_creates_first_email_for_service(notify_db_session): service = create_service() add_reply_to_email_address_for_service(service_id=service.id, email_address='*****@*****.**', is_default=True) results = dao_get_reply_to_by_service_id(service_id=service.id) assert len(results) == 1 assert results[0].email_address == '*****@*****.**' assert results[0].is_default
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='*****@*****.**') second_reply_to = create_reply_to_email(service=service, email_address='*****@*****.**', is_default=False) another_reply_to = create_reply_to_email(service=service, email_address='*****@*****.**', is_default=False) results = dao_get_reply_to_by_service_id(service_id=service.id) 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_new_reply_to_is_default_existing_reply_to_is_not(notify_db_session): service = create_service() create_reply_to_email(service=service, email_address="*****@*****.**", is_default=True) add_reply_to_email_address_for_service(service_id=service.id, email_address='*****@*****.**', is_default=True) results = dao_get_reply_to_by_service_id(service_id=service.id) assert len(results) == 2 for x in results: if x.email_address == '*****@*****.**': assert not x.is_default elif x.email_address == '*****@*****.**': assert x.is_default else: assert False
def test_add_reply_to_email_address_for_service_creates_another_email_for_service(notify_db_session): service = create_service() create_reply_to_email(service=service, email_address="*****@*****.**") add_reply_to_email_address_for_service(service_id=service.id, email_address='*****@*****.**', is_default=False) results = dao_get_reply_to_by_service_id(service_id=service.id) assert len(results) == 2 for x in results: if x.email_address == '*****@*****.**': assert x.is_default elif x.email_address == '*****@*****.**': assert not x.is_default else: raise AssertionError()
def test_dao_get_reply_to_by_service_id_does_not_return_archived_reply_tos(notify_db_session): service = create_service() create_reply_to_email(service=service, email_address='*****@*****.**') create_reply_to_email(service=service, email_address='*****@*****.**', is_default=False) archived_reply_to = create_reply_to_email( service=service, email_address='*****@*****.**', is_default=False, archived=True ) results = dao_get_reply_to_by_service_id(service_id=service.id) assert len(results) == 2 assert archived_reply_to not in results
def get_email_reply_to_addresses(service_id): result = dao_get_reply_to_by_service_id(service_id) return jsonify([i.serialize() for i in result]), 200