mirror of
https://github.com/sartography/cr-connect-workflow.git
synced 2025-02-22 20:58:28 +00:00
Fixes a bug in get_study_workflows and adds a test covering it
This commit is contained in:
parent
5bf0eb33d9
commit
acad0023d2
@ -121,7 +121,7 @@ def get_study_workflows(study_id):
|
|||||||
workflow_models = session.query(WorkflowModel).filter_by(study_id=study_id).all()
|
workflow_models = session.query(WorkflowModel).filter_by(study_id=study_id).all()
|
||||||
api_models = []
|
api_models = []
|
||||||
for workflow_model in workflow_models:
|
for workflow_model in workflow_models:
|
||||||
processor = WorkflowProcessor(workflow_model.workflow_spec_id,
|
processor = WorkflowProcessor(workflow_model,
|
||||||
workflow_model.bpmn_workflow_json)
|
workflow_model.bpmn_workflow_json)
|
||||||
api_models.append(__get_workflow_api_model(processor))
|
api_models.append(__get_workflow_api_model(processor))
|
||||||
schema = WorkflowApiSchema(many=True)
|
schema = WorkflowApiSchema(many=True)
|
||||||
|
@ -155,3 +155,33 @@ class TestStudyApi(BaseTest):
|
|||||||
rv = self.app.delete('/v1.0/workflow/%i' % workflow.id)
|
rv = self.app.delete('/v1.0/workflow/%i' % workflow.id)
|
||||||
self.assert_success(rv)
|
self.assert_success(rv)
|
||||||
self.assertEqual(0, session.query(WorkflowModel).count())
|
self.assertEqual(0, session.query(WorkflowModel).count())
|
||||||
|
|
||||||
|
def test_get_study_workflows(self):
|
||||||
|
self.load_example_data()
|
||||||
|
|
||||||
|
# Should have no workflows to start
|
||||||
|
study = session.query(StudyModel).first()
|
||||||
|
response_before = self.app.get('/v1.0/study/%i/workflows' % study.id,
|
||||||
|
content_type="application/json",
|
||||||
|
headers=self.logged_in_headers())
|
||||||
|
self.assert_success(response_before)
|
||||||
|
json_data_before = json.loads(response_before.get_data(as_text=True))
|
||||||
|
workflows_before = WorkflowApiSchema(many=True).load(json_data_before)
|
||||||
|
self.assertEqual(0, len(workflows_before))
|
||||||
|
|
||||||
|
# Add a workflow
|
||||||
|
spec = session.query(WorkflowSpecModel).first()
|
||||||
|
add_response = self.app.post('/v1.0/study/%i/workflows' % study.id,
|
||||||
|
content_type="application/json",
|
||||||
|
headers=self.logged_in_headers(),
|
||||||
|
data=json.dumps(WorkflowSpecModelSchema().dump(spec)))
|
||||||
|
self.assert_success(add_response)
|
||||||
|
|
||||||
|
# Should have no workflows to start
|
||||||
|
response_after = self.app.get('/v1.0/study/%i/workflows' % study.id,
|
||||||
|
content_type="application/json",
|
||||||
|
headers=self.logged_in_headers())
|
||||||
|
self.assert_success(response_after)
|
||||||
|
json_data_after = json.loads(response_after.get_data(as_text=True))
|
||||||
|
workflows_after = WorkflowApiSchema(many=True).load(json_data_after)
|
||||||
|
self.assertEqual(1, len(workflows_after))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user