disable element units by default and added test that was failing due to it w/ burnettk (#480)

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
This commit is contained in:
jasquat 2023-09-08 16:47:31 -04:00 committed by GitHub
parent 401be1fc58
commit d2dea0b85a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 107 additions and 1 deletions

View File

@ -187,7 +187,7 @@ SPIFFWORKFLOW_BACKEND_DATABASE_PASSWORD = environ.get("SPIFFWORKFLOW_BACKEND_DAT
# )
SPIFFWORKFLOW_BACKEND_FEATURE_ELEMENT_UNITS_ENABLED = (
environ.get("SPIFFWORKFLOW_BACKEND_FEATURE_ELEMENT_UNITS_ENABLED", default="true") == "true"
environ.get("SPIFFWORKFLOW_BACKEND_FEATURE_ELEMENT_UNITS_ENABLED", default="false") == "true"
)
SPIFFWORKFLOW_BACKEND_ELEMENT_UNITS_CACHE_DIR = environ.get(

View File

@ -0,0 +1,58 @@
<?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" id="Definitions_96f6665" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="3.0.0-dev">
<bpmn:collaboration id="Collaboration_13wu5eg">
<bpmn:participant id="Participant_0pa7ip0" processRef="Process_bd2e724" />
</bpmn:collaboration>
<bpmn:process id="Process_bd2e724" isExecutable="true">
<bpmn:startEvent id="StartEvent_1">
<bpmn:outgoing>Flow_1rcteeq</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_1rcteeq" sourceRef="StartEvent_1" targetRef="manual_task" />
<bpmn:sequenceFlow id="Flow_00q9hwt" sourceRef="manual_task" targetRef="the_call_activity" />
<bpmn:sequenceFlow id="Flow_1rid3w7" sourceRef="the_call_activity" targetRef="Event_1w7nqwy" />
<bpmn:manualTask id="manual_task" name="Manual Task">
<bpmn:incoming>Flow_1rcteeq</bpmn:incoming>
<bpmn:outgoing>Flow_00q9hwt</bpmn:outgoing>
</bpmn:manualTask>
<bpmn:endEvent id="Event_1w7nqwy">
<bpmn:incoming>Flow_1rid3w7</bpmn:incoming>
</bpmn:endEvent>
<bpmn:callActivity id="the_call_activity" name="The Call Activity" calledElement="process_to_call">
<bpmn:incoming>Flow_00q9hwt</bpmn:incoming>
<bpmn:outgoing>Flow_1rid3w7</bpmn:outgoing>
</bpmn:callActivity>
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_13wu5eg">
<bpmndi:BPMNShape id="Participant_0pa7ip0_di" bpmnElement="Participant_0pa7ip0" isHorizontal="true">
<dc:Bounds x="32" y="80" width="600" height="250" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
<dc:Bounds x="82" y="159" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_166tbmo_di" bpmnElement="manual_task">
<dc:Bounds x="170" y="137" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_1w7nqwy_di" bpmnElement="Event_1w7nqwy">
<dc:Bounds x="552" y="159" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_0pmcny7_di" bpmnElement="the_call_activity">
<dc:Bounds x="430" y="137" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_1rcteeq_di" bpmnElement="Flow_1rcteeq">
<di:waypoint x="118" y="177" />
<di:waypoint x="170" y="177" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_00q9hwt_di" bpmnElement="Flow_00q9hwt">
<di:waypoint x="270" y="177" />
<di:waypoint x="430" y="177" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1rid3w7_di" bpmnElement="Flow_1rid3w7">
<di:waypoint x="530" y="177" />
<di:waypoint x="552" y="177" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>

View File

@ -0,0 +1,26 @@
<?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" id="Definitions_96f6665" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="3.0.0-dev">
<bpmn:process id="process_to_call" name="Process to call" isExecutable="true">
<bpmn:startEvent id="StartEvent_1">
<bpmn:outgoing>Flow_0ogjqo9</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:endEvent id="Event_08g7f08">
<bpmn:incoming>Flow_0ogjqo9</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_0ogjqo9" sourceRef="StartEvent_1" targetRef="Event_08g7f08" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="process_to_call">
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
<dc:Bounds x="179" y="159" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_08g7f08_di" bpmnElement="Event_08g7f08">
<dc:Bounds x="402" y="159" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_0ogjqo9_di" bpmnElement="Flow_0ogjqo9">
<di:waypoint x="215" y="177" />
<di:waypoint x="402" y="177" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>

View File

@ -893,3 +893,25 @@ class TestProcessInstanceProcessor(BaseTest):
assert error_detail.task_line_number == 1
assert error_detail.task_line_contents == "hey"
assert error_detail.task_trace is not None
def test_can_complete_task_with_call_activity_after_manual_task(
self,
app: Flask,
client: FlaskClient,
with_db_and_bpmn_file_cleanup: None,
) -> None:
process_model = load_test_spec(
process_model_id="group/call_activity_with_manual_task",
process_model_source_directory="call_activity_with_manual_task",
)
process_instance = self.create_process_instance_from_process_model(process_model=process_model)
processor = ProcessInstanceProcessor(process_instance)
processor.do_engine_steps(save=True)
process_instance = ProcessInstanceModel.query.filter_by(id=process_instance.id).first()
processor = ProcessInstanceProcessor(process_instance)
human_task_one = process_instance.active_human_tasks[0]
spiff_manual_task = processor.bpmn_process_instance.get_task_from_id(UUID(human_task_one.task_id))
ProcessInstanceService.complete_form_task(
processor, spiff_manual_task, {}, process_instance.process_initiator, human_task_one
)