def test_dao_get_letter_contacts_by_service_id(notify_db_session): service = create_service() default_letter_contact = create_letter_contact(service=service, contact_block='Edinburgh, ED1 1AA') second_letter_contact = create_letter_contact(service=service, contact_block='Cardiff, CA1 2DB', is_default=False) third_letter_contact = create_letter_contact(service=service, contact_block='London, E1 8QS', is_default=False) results = dao_get_letter_contacts_by_service_id(service_id=service.id) assert len(results) == 3 assert default_letter_contact == results[0] assert third_letter_contact == results[1] assert second_letter_contact == results[2]
def test_add_letter_contact_does_not_override_default(notify_db_session): service = create_service() add_letter_contact_for_service(service_id=service.id, contact_block='Edinburgh, ED1 1AA', is_default=True) add_letter_contact_for_service(service_id=service.id, contact_block='Swansea, SN1 3CC', is_default=False) results = dao_get_letter_contacts_by_service_id(service_id=service.id) assert len(results) == 2 assert results[0].contact_block == 'Edinburgh, ED1 1AA' assert results[0].is_default assert results[1].contact_block == 'Swansea, SN1 3CC' assert not results[1].is_default
def test_dao_get_letter_contacts_by_service_id_does_not_return_archived_contacts(notify_db_session): service = create_service() create_letter_contact(service=service, contact_block='Edinburgh, ED1 1AA') create_letter_contact(service=service, contact_block='Cardiff, CA1 2DB', is_default=False) archived_contact = create_letter_contact( service=service, contact_block='London, E1 8QS', is_default=False, archived=True ) results = dao_get_letter_contacts_by_service_id(service_id=service.id) assert len(results) == 2 assert archived_contact not in results
def test_add_letter_contact_for_service_creates_additional_letter_contact_for_service(notify_db_session): service = create_service() create_letter_contact(service=service, contact_block='Edinburgh, ED1 1AA') add_letter_contact_for_service(service_id=service.id, contact_block='Swansea, SN1 3CC', is_default=False) results = dao_get_letter_contacts_by_service_id(service_id=service.id) assert len(results) == 2 assert results[0].contact_block == 'Edinburgh, ED1 1AA' assert results[0].is_default assert not results[0].archived assert results[1].contact_block == 'Swansea, SN1 3CC' assert not results[1].is_default assert not results[1].archived
def test_add_another_letter_contact_as_default_overrides_existing( notify_db_session): service = create_service() create_letter_contact(service=service, contact_block="Edinburgh, ED1 1AA") add_letter_contact_for_service(service_id=service.id, contact_block="Swansea, SN1 3CC", is_default=True) results = dao_get_letter_contacts_by_service_id(service_id=service.id) assert len(results) == 2 assert results[0].contact_block == "Swansea, SN1 3CC" assert results[0].is_default assert results[1].contact_block == "Edinburgh, ED1 1AA" assert not results[1].is_default
def test_update_letter_contact_as_default_overides_existing_default(notify_db_session): service = create_service() create_letter_contact(service=service, contact_block='Aberdeen, AB12 23X') second_letter_contact = create_letter_contact(service=service, contact_block='Swansea, SN1 3CC', is_default=False) update_letter_contact( service_id=service.id, letter_contact_id=second_letter_contact.id, contact_block='Warwick, W14 TSR', is_default=True ) results = dao_get_letter_contacts_by_service_id(service_id=service.id) assert len(results) == 2 assert results[0].contact_block == 'Warwick, W14 TSR' assert results[0].is_default assert results[1].contact_block == 'Aberdeen, AB12 23X' assert not results[1].is_default
def get_letter_contacts(service_id): result = dao_get_letter_contacts_by_service_id(service_id) return jsonify([i.serialize() for i in result]), 200