def test_update_letter_contact_unset_default_for_only_letter_contact_is_fine(notify_db_session): service = create_service() only_letter_contact = create_letter_contact(service=service, contact_block='Aberdeen, AB12 23X') update_letter_contact( service_id=service.id, letter_contact_id=only_letter_contact.id, contact_block='Warwick, W14 TSR', is_default=False ) assert only_letter_contact.is_default is False
def test_update_letter_contact_unset_default_for_only_letter_contact_raises_exception(notify_db_session): service = create_service() only_letter_contact = create_letter_contact(service=service, contact_block='Aberdeen, AB12 23X') with pytest.raises(expected_exception=InvalidRequest): update_letter_contact( service_id=service.id, letter_contact_id=only_letter_contact.id, contact_block='Warwick, W14 TSR', is_default=False )
def test_can_update_letter_contact(notify_db_session): service = create_service() letter_contact = create_letter_contact(service=service, contact_block='Aberdeen, AB12 23X') update_letter_contact(service_id=service.id, letter_contact_id=letter_contact.id, contact_block='Warwick, W14 TSR', is_default=True) updated_letter_contact = ServiceLetterContact.query.get(letter_contact.id) assert updated_letter_contact.contact_block == 'Warwick, W14 TSR' assert updated_letter_contact.updated_at assert updated_letter_contact.is_default
def update_service_letter_contact(service_id, letter_contact_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_reply_to = update_letter_contact(service_id=service_id, letter_contact_id=letter_contact_id, contact_block=form['contact_block'], is_default=form.get('is_default', True)) return jsonify(data=new_reply_to.serialize()), 200
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