From d2dea0b85a4a49ed0f5f5a2b716d0d7626a9c614 Mon Sep 17 00:00:00 2001 From: jasquat <2487833+jasquat@users.noreply.github.com> Date: Fri, 8 Sep 2023 16:47:31 -0400 Subject: [PATCH] disable element units by default and added test that was failing due to it w/ burnettk (#480) Co-authored-by: jasquat --- .../spiffworkflow_backend/config/default.py | 2 +- .../call_activity_with_manual_task.bpmn | 58 +++++++++++++++++++ .../callable_process.bpmn | 26 +++++++++ .../unit/test_process_instance_processor.py | 22 +++++++ 4 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 spiffworkflow-backend/tests/data/call_activity_with_manual_task/call_activity_with_manual_task.bpmn create mode 100644 spiffworkflow-backend/tests/data/call_activity_with_manual_task/callable_process.bpmn diff --git a/spiffworkflow-backend/src/spiffworkflow_backend/config/default.py b/spiffworkflow-backend/src/spiffworkflow_backend/config/default.py index 8964dfad..6395a9dd 100644 --- a/spiffworkflow-backend/src/spiffworkflow_backend/config/default.py +++ b/spiffworkflow-backend/src/spiffworkflow_backend/config/default.py @@ -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( diff --git a/spiffworkflow-backend/tests/data/call_activity_with_manual_task/call_activity_with_manual_task.bpmn b/spiffworkflow-backend/tests/data/call_activity_with_manual_task/call_activity_with_manual_task.bpmn new file mode 100644 index 00000000..684ba266 --- /dev/null +++ b/spiffworkflow-backend/tests/data/call_activity_with_manual_task/call_activity_with_manual_task.bpmn @@ -0,0 +1,58 @@ + + + + + + + + Flow_1rcteeq + + + + + + Flow_1rcteeq + Flow_00q9hwt + + + Flow_1rid3w7 + + + Flow_00q9hwt + Flow_1rid3w7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spiffworkflow-backend/tests/data/call_activity_with_manual_task/callable_process.bpmn b/spiffworkflow-backend/tests/data/call_activity_with_manual_task/callable_process.bpmn new file mode 100644 index 00000000..7eb4f3d0 --- /dev/null +++ b/spiffworkflow-backend/tests/data/call_activity_with_manual_task/callable_process.bpmn @@ -0,0 +1,26 @@ + + + + + Flow_0ogjqo9 + + + Flow_0ogjqo9 + + + + + + + + + + + + + + + + + + diff --git a/spiffworkflow-backend/tests/spiffworkflow_backend/unit/test_process_instance_processor.py b/spiffworkflow-backend/tests/spiffworkflow_backend/unit/test_process_instance_processor.py index dc83f353..8ec46093 100644 --- a/spiffworkflow-backend/tests/spiffworkflow_backend/unit/test_process_instance_processor.py +++ b/spiffworkflow-backend/tests/spiffworkflow_backend/unit/test_process_instance_processor.py @@ -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 + )