2022-09-28 12:25:18 -04:00
|
|
|
"""Test_various_bpmn_constructs."""
|
|
|
|
from flask.app import Flask
|
2022-11-01 16:48:04 -04:00
|
|
|
from flask.testing import FlaskClient
|
2022-11-18 16:45:44 -05:00
|
|
|
from tests.spiffworkflow_backend.helpers.base_test import BaseTest
|
|
|
|
|
2022-11-01 16:48:04 -04:00
|
|
|
from spiffworkflow_backend.models.user import UserModel
|
2022-09-29 10:19:31 -04:00
|
|
|
from spiffworkflow_backend.services.process_instance_processor import (
|
|
|
|
ProcessInstanceProcessor,
|
|
|
|
)
|
|
|
|
from spiffworkflow_backend.services.process_instance_service import (
|
|
|
|
ProcessInstanceService,
|
|
|
|
)
|
2022-09-28 12:25:18 -04:00
|
|
|
|
|
|
|
|
|
|
|
class TestDotNotation(BaseTest):
|
|
|
|
"""TestVariousBpmnConstructs."""
|
|
|
|
|
|
|
|
def test_dot_notation(
|
2022-11-09 13:45:16 -05:00
|
|
|
self,
|
|
|
|
app: Flask,
|
|
|
|
client: FlaskClient,
|
|
|
|
with_db_and_bpmn_file_cleanup: None,
|
|
|
|
with_super_admin_user: UserModel,
|
2022-09-28 12:25:18 -04:00
|
|
|
) -> None:
|
2022-09-29 10:19:31 -04:00
|
|
|
"""Test_form_data_conversion_to_dot_dict."""
|
2022-11-01 16:48:04 -04:00
|
|
|
process_group_id = "dot_notation_group"
|
|
|
|
process_model_id = "test_dot_notation"
|
|
|
|
bpmn_file_name = "diagram.bpmn"
|
|
|
|
bpmn_file_location = "dot_notation"
|
2022-11-11 08:02:35 -05:00
|
|
|
process_model_identifier = self.create_group_and_model_with_bpmn(
|
2022-11-01 16:48:04 -04:00
|
|
|
client,
|
|
|
|
with_super_admin_user,
|
|
|
|
process_group_id=process_group_id,
|
|
|
|
process_model_id=process_model_id,
|
|
|
|
bpmn_file_name=bpmn_file_name,
|
2022-11-09 13:45:16 -05:00
|
|
|
bpmn_file_location=bpmn_file_location,
|
2022-09-28 12:25:18 -04:00
|
|
|
)
|
|
|
|
|
2022-11-01 16:48:04 -04:00
|
|
|
headers = self.logged_in_headers(with_super_admin_user)
|
2022-12-20 11:19:04 -05:00
|
|
|
response = self.create_process_instance_from_process_model_id_with_api(
|
2022-11-01 16:48:04 -04:00
|
|
|
client, process_model_identifier, headers
|
2022-09-28 12:25:18 -04:00
|
|
|
)
|
2022-11-01 16:48:04 -04:00
|
|
|
process_instance_id = response.json["id"]
|
2022-11-09 13:45:16 -05:00
|
|
|
process_instance = ProcessInstanceService().get_process_instance(
|
|
|
|
process_instance_id
|
|
|
|
)
|
2022-09-28 12:25:18 -04:00
|
|
|
|
2022-11-01 16:48:04 -04:00
|
|
|
processor = ProcessInstanceProcessor(process_instance)
|
2022-09-28 12:25:18 -04:00
|
|
|
processor.do_engine_steps(save=True)
|
2022-12-19 16:23:02 -05:00
|
|
|
human_task = process_instance.human_tasks[0]
|
2022-09-28 12:25:18 -04:00
|
|
|
|
|
|
|
user_task = processor.get_ready_user_tasks()[0]
|
|
|
|
form_data = {
|
2022-09-29 10:19:31 -04:00
|
|
|
"invoice.contibutorName": "Elizabeth",
|
|
|
|
"invoice.contributorId": 100,
|
|
|
|
"invoice.invoiceId": 10001,
|
|
|
|
"invoice.invoiceAmount": "1000.00",
|
|
|
|
"invoice.dueDate": "09/30/2022",
|
2022-09-28 12:25:18 -04:00
|
|
|
}
|
|
|
|
ProcessInstanceService.complete_form_task(
|
2022-12-19 16:23:02 -05:00
|
|
|
processor, user_task, form_data, with_super_admin_user, human_task
|
2022-09-28 12:25:18 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
expected = {
|
2022-09-29 10:19:31 -04:00
|
|
|
"contibutorName": "Elizabeth",
|
|
|
|
"contributorId": 100,
|
|
|
|
"invoiceId": 10001,
|
|
|
|
"invoiceAmount": "1000.00",
|
|
|
|
"dueDate": "09/30/2022",
|
2022-09-28 12:25:18 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
processor.do_engine_steps(save=True)
|
2022-09-29 10:19:31 -04:00
|
|
|
assert processor.get_data()["invoice"] == expected
|