mirror of
https://github.com/sartography/cr-connect-workflow.git
synced 2025-02-23 05:08:32 +00:00
Test and workflow for new script to delete IRB documents
This commit is contained in:
parent
0eb6291740
commit
d81497f8cb
112
tests/data/add_delete_irb_document/add_delete_irb_document.bpmn
Normal file
112
tests/data/add_delete_irb_document/add_delete_irb_document.bpmn
Normal file
@ -0,0 +1,112 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_3d948db" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="3.5.0">
|
||||
<bpmn:process id="Process_44b3aca" isExecutable="true">
|
||||
<bpmn:startEvent id="StartEvent_1">
|
||||
<bpmn:outgoing>Flow_1j6i6nv</bpmn:outgoing>
|
||||
</bpmn:startEvent>
|
||||
<bpmn:sequenceFlow id="Flow_1j6i6nv" sourceRef="StartEvent_1" targetRef="Activity_WhichIRBDocument" />
|
||||
<bpmn:sequenceFlow id="Flow_0oyc3ye" sourceRef="Activity_WhichIRBDocument" targetRef="Activity_CheckFileUploaded" />
|
||||
<bpmn:sequenceFlow id="Flow_1rexoi9" sourceRef="Activity_DeleteIRBDocument" targetRef="Activity_CheckFileDeleted" />
|
||||
<bpmn:endEvent id="Event_06rfn6m">
|
||||
<bpmn:incoming>Flow_0ry4bnx</bpmn:incoming>
|
||||
</bpmn:endEvent>
|
||||
<bpmn:userTask id="Activity_WhichIRBDocument" name="Which IRB Document" camunda:formKey="UploadIRBDoc">
|
||||
<bpmn:extensionElements>
|
||||
<camunda:formData>
|
||||
<camunda:formField id="irb_document" label="IRB Document" type="string" defaultValue="Study_Protocol_Document" />
|
||||
</camunda:formData>
|
||||
</bpmn:extensionElements>
|
||||
<bpmn:incoming>Flow_1j6i6nv</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_0oyc3ye</bpmn:outgoing>
|
||||
</bpmn:userTask>
|
||||
<bpmn:scriptTask id="Activity_CheckFileUploaded" name="Check File Uploaded">
|
||||
<bpmn:incoming>Flow_0oyc3ye</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_1gpekhi</bpmn:outgoing>
|
||||
<bpmn:script>uploaded = is_file_uploaded(irb_document)</bpmn:script>
|
||||
</bpmn:scriptTask>
|
||||
<bpmn:sequenceFlow id="Flow_1gpekhi" sourceRef="Activity_CheckFileUploaded" targetRef="Activity_DisplayFileUploaded" />
|
||||
<bpmn:manualTask id="Activity_DisplayFileUploaded" name="Display File Uploaded">
|
||||
<bpmn:documentation># Is file uploaded
|
||||
uploaded: {{uploaded}}</bpmn:documentation>
|
||||
<bpmn:incoming>Flow_1gpekhi</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_0qyam4h</bpmn:outgoing>
|
||||
</bpmn:manualTask>
|
||||
<bpmn:scriptTask id="Activity_DeleteIRBDocument" name="Delete IRB Document">
|
||||
<bpmn:incoming>Flow_0qyam4h</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_1rexoi9</bpmn:outgoing>
|
||||
<bpmn:script>delete_irb_document(irb_document=irb_document)</bpmn:script>
|
||||
</bpmn:scriptTask>
|
||||
<bpmn:scriptTask id="Activity_CheckFileDeleted" name="Check File Deleted">
|
||||
<bpmn:incoming>Flow_1rexoi9</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_06hfqyd</bpmn:outgoing>
|
||||
<bpmn:script>deleted = not is_file_uploaded(irb_document)</bpmn:script>
|
||||
</bpmn:scriptTask>
|
||||
<bpmn:sequenceFlow id="Flow_0qyam4h" sourceRef="Activity_DisplayFileUploaded" targetRef="Activity_DeleteIRBDocument" />
|
||||
<bpmn:sequenceFlow id="Flow_06hfqyd" sourceRef="Activity_CheckFileDeleted" targetRef="Activity_DisplayFileDeleted" />
|
||||
<bpmn:sequenceFlow id="Flow_0ry4bnx" sourceRef="Activity_DisplayFileDeleted" targetRef="Event_06rfn6m" />
|
||||
<bpmn:manualTask id="Activity_DisplayFileDeleted" name="Display File Deleted">
|
||||
<bpmn:documentation># Is file deleted
|
||||
deleted: {{deleted}}</bpmn:documentation>
|
||||
<bpmn:incoming>Flow_06hfqyd</bpmn:incoming>
|
||||
<bpmn:outgoing>Flow_0ry4bnx</bpmn:outgoing>
|
||||
</bpmn:manualTask>
|
||||
</bpmn:process>
|
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_44b3aca">
|
||||
<bpmndi:BPMNEdge id="Flow_0oyc3ye_di" bpmnElement="Flow_0oyc3ye">
|
||||
<di:waypoint x="360" y="117" />
|
||||
<di:waypoint x="430" y="117" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1j6i6nv_di" bpmnElement="Flow_1j6i6nv">
|
||||
<di:waypoint x="215" y="117" />
|
||||
<di:waypoint x="260" y="117" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1gpekhi_di" bpmnElement="Flow_1gpekhi">
|
||||
<di:waypoint x="530" y="117" />
|
||||
<di:waypoint x="590" y="117" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0qyam4h_di" bpmnElement="Flow_0qyam4h">
|
||||
<di:waypoint x="640" y="157" />
|
||||
<di:waypoint x="640" y="220" />
|
||||
<di:waypoint x="310" y="220" />
|
||||
<di:waypoint x="310" y="280" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_1rexoi9_di" bpmnElement="Flow_1rexoi9">
|
||||
<di:waypoint x="360" y="320" />
|
||||
<di:waypoint x="430" y="320" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_06hfqyd_di" bpmnElement="Flow_06hfqyd">
|
||||
<di:waypoint x="530" y="320" />
|
||||
<di:waypoint x="590" y="320" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="Flow_0ry4bnx_di" bpmnElement="Flow_0ry4bnx">
|
||||
<di:waypoint x="690" y="320" />
|
||||
<di:waypoint x="742" y="320" />
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
|
||||
<dc:Bounds x="179" y="99" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_176crcy_di" bpmnElement="Activity_WhichIRBDocument">
|
||||
<dc:Bounds x="260" y="77" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0015703_di" bpmnElement="Activity_CheckFileUploaded">
|
||||
<dc:Bounds x="430" y="77" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_1kmb6qu_di" bpmnElement="Activity_CheckFileDeleted">
|
||||
<dc:Bounds x="430" y="280" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0om2kg5_di" bpmnElement="Activity_DeleteIRBDocument">
|
||||
<dc:Bounds x="260" y="280" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_11nq3xj_di" bpmnElement="Activity_DisplayFileUploaded">
|
||||
<dc:Bounds x="590" y="77" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0cbkkzl_di" bpmnElement="Activity_DisplayFileDeleted">
|
||||
<dc:Bounds x="590" y="280" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Event_06rfn6m_di" bpmnElement="Event_06rfn6m">
|
||||
<dc:Bounds x="742" y="302" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
</bpmndi:BPMNPlane>
|
||||
</bpmndi:BPMNDiagram>
|
||||
</bpmn:definitions>
|
39
tests/workflow/test_workflow_delete_irb_document.py
Normal file
39
tests/workflow/test_workflow_delete_irb_document.py
Normal file
@ -0,0 +1,39 @@
|
||||
from tests.base_test import BaseTest
|
||||
from crc.services.file_service import FileService
|
||||
from crc.scripts.is_file_uploaded import IsFileUploaded
|
||||
import io
|
||||
|
||||
|
||||
class TestDeleteIRBDocument(BaseTest):
|
||||
|
||||
def test_delete_irb_document(self):
|
||||
self.load_example_data()
|
||||
irb_code = 'Study_Protocol_Document'
|
||||
|
||||
workflow = self.create_workflow('add_delete_irb_document')
|
||||
study_id = workflow.study_id
|
||||
|
||||
workflow_api = self.get_workflow_api(workflow)
|
||||
first_task = workflow_api.next_task
|
||||
|
||||
files = FileService.get_files_for_study(study_id)
|
||||
self.assertEqual(0, len(files))
|
||||
self.assertEqual(False, IsFileUploaded.do_task(IsFileUploaded, first_task, study_id, workflow.id, irb_code))
|
||||
|
||||
# Add a file
|
||||
FileService.add_workflow_file(workflow_id=workflow.id,
|
||||
name="filename.txt", content_type="text",
|
||||
binary_data=b'1234', irb_doc_code=irb_code)
|
||||
self.assertEqual(True, IsFileUploaded.do_task(IsFileUploaded, first_task, study_id, workflow.id, irb_code))
|
||||
|
||||
self.complete_form(workflow, first_task, {'irb_document': irb_code})
|
||||
workflow_api = self.get_workflow_api(workflow)
|
||||
second_task = workflow_api.next_task
|
||||
self.assertEqual('# Is file uploaded\nuploaded: True', second_task.documentation)
|
||||
|
||||
self.complete_form(workflow, second_task, {})
|
||||
workflow_api = self.get_workflow_api(workflow)
|
||||
third_task = workflow_api.next_task
|
||||
self.assertEqual('# Is file deleted\ndeleted: True', third_task.documentation)
|
||||
|
||||
print('test_delete_irb_document')
|
Loading…
x
Reference in New Issue
Block a user