mirror of
https://github.com/sartography/cr-connect-workflow.git
synced 2025-02-22 20:58:28 +00:00
Be sure to delete the data store items when you delete a study.
This commit is contained in:
parent
52b5e1d34a
commit
c8e987cd39
@ -231,6 +231,7 @@ class StudyService(object):
|
||||
session.query(StudyAssociated).filter_by(study_id=study_id).delete()
|
||||
session.query(EmailModel).filter_by(study_id=study_id).delete()
|
||||
session.query(StudyEvent).filter_by(study_id=study_id).delete()
|
||||
session.query(DataStoreModel).filter_by(study_id=study_id).delete()
|
||||
for workflow in session.query(WorkflowModel).filter_by(study_id=study_id):
|
||||
StudyService.delete_workflow(workflow.id)
|
||||
study = session.query(StudyModel).filter_by(id=study_id).first()
|
||||
|
@ -106,6 +106,21 @@ class DataStoreTest(BaseTest):
|
||||
studyreponse = session.query(DataStoreModel).filter_by(id=oldid).first()
|
||||
self.assertEqual(studyreponse,None)
|
||||
|
||||
def test_delete_study_with_datastore(self):
|
||||
study = self.create_study()
|
||||
study_data = DataStoreSchema().dump(self.TEST_STUDY_ITEM)
|
||||
study_data['study_id'] = study.id
|
||||
self.assertEqual(0, session.query(DataStoreModel).count())
|
||||
rv = self.app.post('/v1.0/datastore',
|
||||
content_type="application/json",
|
||||
headers=self.logged_in_headers(),
|
||||
data=json.dumps(study_data))
|
||||
self.assertEqual(1, session.query(DataStoreModel).count())
|
||||
rv = self.app.delete('/v1.0/study/%i' % study.id, headers=self.logged_in_headers())
|
||||
self.assertEqual(0, session.query(DataStoreModel).count())
|
||||
|
||||
|
||||
|
||||
def test_data_crosstalk(self):
|
||||
"""Test to make sure that data saved for user or study is not accessible from the other method"""
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user