set the correct type for task since SpiffTask and a backend task are not the same

This commit is contained in:
jasquat 2023-01-26 07:35:13 -05:00
parent 9fb2b01e3c
commit 9e3640b169
2 changed files with 6 additions and 1 deletions

View File

@ -34,6 +34,7 @@ from spiffworkflow_backend.models.human_task_user import HumanTaskUserModel
from spiffworkflow_backend.models.process_instance import ProcessInstanceModel from spiffworkflow_backend.models.process_instance import ProcessInstanceModel
from spiffworkflow_backend.models.process_instance import ProcessInstanceStatus from spiffworkflow_backend.models.process_instance import ProcessInstanceStatus
from spiffworkflow_backend.models.process_model import ProcessModelInfo from spiffworkflow_backend.models.process_model import ProcessModelInfo
from spiffworkflow_backend.models.task import Task
from spiffworkflow_backend.models.user import UserModel from spiffworkflow_backend.models.user import UserModel
from spiffworkflow_backend.routes.process_api_blueprint import ( from spiffworkflow_backend.routes.process_api_blueprint import (
_find_principal_or_raise, _find_principal_or_raise,
@ -574,9 +575,12 @@ def _get_spiff_task_from_process_instance(
# originally from: https://bitcoden.com/answers/python-nested-dictionary-update-value-where-any-nested-key-matches # originally from: https://bitcoden.com/answers/python-nested-dictionary-update-value-where-any-nested-key-matches
def _update_form_schema_with_task_data_as_needed( def _update_form_schema_with_task_data_as_needed(
in_dict: dict, task: SpiffTask in_dict: dict, task: Task
) -> None: ) -> None:
"""Update_nested.""" """Update_nested."""
if task.data is None:
return None
for k, value in in_dict.items(): for k, value in in_dict.items():
if "anyOf" == k: if "anyOf" == k:
# value will look like the array on the right of "anyOf": ["options_from_task_data_var:awesome_options"] # value will look like the array on the right of "anyOf": ["options_from_task_data_var:awesome_options"]

View File

@ -1680,6 +1680,7 @@ class TestProcessApi(BaseTest):
f"/v1.0/tasks/{process_instance_id}/{human_task.task_id}", f"/v1.0/tasks/{process_instance_id}/{human_task.task_id}",
headers=self.logged_in_headers(with_super_admin_user), headers=self.logged_in_headers(with_super_admin_user),
) )
assert response.status_code == 200
assert response.json is not None assert response.json is not None
assert ( assert (
response.json["form_schema"]["definitions"]["Color"]["anyOf"][1]["title"] response.json["form_schema"]["definitions"]["Color"]["anyOf"][1]["title"]