def test_add_letter_contact_when_multiple_defaults_exist_raises_exception(notify_db_session): service = create_service() create_letter_contact(service=service, contact_block='Edinburgh, ED1 1AA') create_letter_contact(service=service, contact_block='Aberdeen, AB12 23X') with pytest.raises(Exception): add_letter_contact_for_service(service_id=service.id, contact_block='Swansea, SN1 3CC', is_default=False)
def test_add_letter_contact_with_no_default_raises_exception( notify_db_session): service = create_service() with pytest.raises(expected_exception=InvalidRequest): add_letter_contact_for_service(service_id=service.id, contact_block='Swansea, SN1 3CC', is_default=False)
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_add_letter_contact_with_no_default_is_fine(notify_db_session): service = create_service() letter_contact = add_letter_contact_for_service( service_id=service.id, contact_block='Swansea, SN1 3CC', is_default=False) assert service.letter_contacts == [letter_contact]
def add_service_letter_contact(service_id): # validate the service exists, throws ResultNotFound exception. dao_fetch_service_by_id(service_id) form = validate(request.get_json(), add_service_letter_contact_block_request) new_letter_contact = add_letter_contact_for_service(service_id=service_id, contact_block=form['contact_block'], is_default=form.get('is_default', True)) return jsonify(data=new_letter_contact.serialize()), 201
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