def test_update_work_with_roles(use_test_db, test_work_dict): new_test_work = logic.create_work(test_work_dict) test_creator_id = testing_utils.create_fake_creator()['id'] test_work_dict['roles'] = {'illustrator': [test_creator_id]} updated_test_work = logic.update_work(test_work_dict['id'], test_work_dict) assert new_test_work['id'] == updated_test_work['id'] assert updated_test_work['roles'] == [test_creator_id]
def work(work_id): if request.method == 'GET': work = None with session_scope() as session: work = session.query(models.Work).filter_by(id=work_id).scalar() if work: return {'work': work.to_dict()} elif request.method == 'PUT': model_data = api_to_model_dict(request.get_json()) response = logic.update_work(work_id, model_data) return {'work': response} elif request.method == 'DELETE': with session_scope() as session: work = session.query(models.Work).filter_by(id=work_id).scalar() if work: session.delete(work) return {} return {}, 404