working on tests
This commit is contained in:
parent
e9a09342d5
commit
5f7182c5d6
|
@ -74,8 +74,6 @@ class ProcessModelService(FileSystemService):
|
||||||
|
|
||||||
def add_process_model(self, process_model: ProcessModelInfo) -> None:
|
def add_process_model(self, process_model: ProcessModelInfo) -> None:
|
||||||
"""Add_spec."""
|
"""Add_spec."""
|
||||||
display_order = self.next_display_order(process_model)
|
|
||||||
process_model.display_order = display_order
|
|
||||||
self.save_process_model(process_model)
|
self.save_process_model(process_model)
|
||||||
|
|
||||||
def update_process_model(
|
def update_process_model(
|
||||||
|
@ -225,7 +223,7 @@ class ProcessModelService(FileSystemService):
|
||||||
def get_process_groups(
|
def get_process_groups(
|
||||||
cls, process_group_id: Optional[str] = None
|
cls, process_group_id: Optional[str] = None
|
||||||
) -> list[ProcessGroup]:
|
) -> list[ProcessGroup]:
|
||||||
"""Returns the process_groups as a list in display order."""
|
"""Returns the process_groups."""
|
||||||
process_groups = cls.__scan_process_groups(process_group_id)
|
process_groups = cls.__scan_process_groups(process_group_id)
|
||||||
process_groups.sort()
|
process_groups.sort()
|
||||||
return process_groups
|
return process_groups
|
||||||
|
@ -243,7 +241,7 @@ class ProcessModelService(FileSystemService):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if cls.is_group(process_group_path):
|
if cls.is_group(process_group_path):
|
||||||
return self.find_or_create_process_group(
|
return cls.find_or_create_process_group(
|
||||||
process_group_path,
|
process_group_path,
|
||||||
find_direct_nested_items=find_direct_nested_items,
|
find_direct_nested_items=find_direct_nested_items,
|
||||||
)
|
)
|
||||||
|
@ -252,22 +250,22 @@ class ProcessModelService(FileSystemService):
|
||||||
"process_group_not_found", f"Process Group Id: {process_group_id}"
|
"process_group_not_found", f"Process Group Id: {process_group_id}"
|
||||||
)
|
)
|
||||||
|
|
||||||
def add_process_group(self, process_group: ProcessGroup) -> ProcessGroup:
|
@classmethod
|
||||||
|
def add_process_group(cls, process_group: ProcessGroup) -> ProcessGroup:
|
||||||
"""Add_process_group."""
|
"""Add_process_group."""
|
||||||
display_order = len(self.get_process_groups())
|
return cls.update_process_group(process_group)
|
||||||
process_group.display_order = display_order
|
|
||||||
return self.update_process_group(process_group)
|
|
||||||
|
|
||||||
def update_process_group(self, process_group: ProcessGroup) -> ProcessGroup:
|
@classmethod
|
||||||
|
def update_process_group(cls, process_group: ProcessGroup) -> ProcessGroup:
|
||||||
"""Update_process_group."""
|
"""Update_process_group."""
|
||||||
cat_path = self.process_group_path(process_group.id)
|
cat_path = cls.process_group_path(process_group.id)
|
||||||
os.makedirs(cat_path, exist_ok=True)
|
os.makedirs(cat_path, exist_ok=True)
|
||||||
json_path = os.path.join(cat_path, self.PROCESS_GROUP_JSON_FILE)
|
json_path = os.path.join(cat_path, cls.PROCESS_GROUP_JSON_FILE)
|
||||||
serialized_process_group = process_group.serialized
|
serialized_process_group = process_group.serialized
|
||||||
# we don't store `id` in the json files
|
# we don't store `id` in the json files
|
||||||
# this allows us to move groups around on the filesystem
|
# this allows us to move groups around on the filesystem
|
||||||
del serialized_process_group["id"]
|
del serialized_process_group["id"]
|
||||||
self.write_json_file(json_path, serialized_process_group)
|
cls.write_json_file(json_path, serialized_process_group)
|
||||||
return process_group
|
return process_group
|
||||||
|
|
||||||
def process_group_move(
|
def process_group_move(
|
||||||
|
|
|
@ -321,7 +321,6 @@ class SpecFileService(FileSystemService):
|
||||||
message_triggerable_process_model = MessageTriggerableProcessModel(
|
message_triggerable_process_model = MessageTriggerableProcessModel(
|
||||||
message_model_id=message_model.id,
|
message_model_id=message_model.id,
|
||||||
process_model_identifier=ref.process_model_id,
|
process_model_identifier=ref.process_model_id,
|
||||||
process_group_identifier="process_group_identifier",
|
|
||||||
)
|
)
|
||||||
db.session.add(message_triggerable_process_model)
|
db.session.add(message_triggerable_process_model)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
@ -329,8 +328,6 @@ class SpecFileService(FileSystemService):
|
||||||
if (
|
if (
|
||||||
message_triggerable_process_model.process_model_identifier
|
message_triggerable_process_model.process_model_identifier
|
||||||
!= ref.process_model_id
|
!= ref.process_model_id
|
||||||
# or message_triggerable_process_model.process_group_identifier
|
|
||||||
# != process_model_info.process_group_id
|
|
||||||
):
|
):
|
||||||
raise ValidationException(
|
raise ValidationException(
|
||||||
f"Message model is already used to start process model {ref.process_model_id}"
|
f"Message model is already used to start process model {ref.process_model_id}"
|
||||||
|
|
|
@ -253,7 +253,10 @@ class BaseTest:
|
||||||
There must be an existing process model to instantiate.
|
There must be an existing process model to instantiate.
|
||||||
"""
|
"""
|
||||||
if not ProcessModelService.is_model(test_process_model_id):
|
if not ProcessModelService.is_model(test_process_model_id):
|
||||||
import pdb; pdb.set_trace()
|
dirname = os.path.dirname(test_process_model_id)
|
||||||
|
if not ProcessModelService.is_group(dirname):
|
||||||
|
process_group = ProcessGroup(id=dirname, display_name=dirname)
|
||||||
|
ProcessModelService.add_process_group(process_group)
|
||||||
basename = os.path.basename(test_process_model_id)
|
basename = os.path.basename(test_process_model_id)
|
||||||
load_test_spec(
|
load_test_spec(
|
||||||
process_model_id=test_process_model_id,
|
process_model_id=test_process_model_id,
|
||||||
|
|
|
@ -1,13 +1,25 @@
|
||||||
"""Test_acceptance_test_fixtures."""
|
"""Test_acceptance_test_fixtures."""
|
||||||
from flask.app import Flask
|
from flask.app import Flask
|
||||||
|
import os
|
||||||
|
from spiffworkflow_backend.models.process_group import ProcessGroup
|
||||||
|
|
||||||
from spiffworkflow_backend.services.acceptance_test_fixtures import (
|
from spiffworkflow_backend.services.acceptance_test_fixtures import (
|
||||||
load_acceptance_test_fixtures,
|
load_acceptance_test_fixtures,
|
||||||
)
|
)
|
||||||
|
from spiffworkflow_backend.services.process_model_service import ProcessModelService
|
||||||
|
|
||||||
|
|
||||||
def test_start_dates_are_one_hour_apart(app: Flask) -> None:
|
def test_start_dates_are_one_hour_apart(app: Flask) -> None:
|
||||||
"""Test_start_dates_are_one_hour_apart."""
|
"""Test_start_dates_are_one_hour_apart."""
|
||||||
|
process_model_identifier = 'misc/acceptance-tests-group-one/acceptance-tests-model-1'
|
||||||
|
group_identifier = os.path.dirname(process_model_identifier)
|
||||||
|
parent_group_identifier = os.path.dirname(group_identifier)
|
||||||
|
if not ProcessModelService.is_group(parent_group_identifier):
|
||||||
|
process_group = ProcessGroup(id=parent_group_identifier, display_name=parent_group_identifier)
|
||||||
|
ProcessModelService.add_process_group(process_group)
|
||||||
|
if not ProcessModelService.is_group(group_identifier):
|
||||||
|
process_group = ProcessGroup(id=group_identifier, display_name=group_identifier)
|
||||||
|
ProcessModelService.add_process_group(process_group)
|
||||||
process_instances = load_acceptance_test_fixtures()
|
process_instances = load_acceptance_test_fixtures()
|
||||||
|
|
||||||
assert len(process_instances) > 2
|
assert len(process_instances) > 2
|
||||||
|
|
|
@ -9,8 +9,7 @@ def test_there_is_at_least_one_group_after_we_create_one(
|
||||||
app: Flask, with_db_and_bpmn_file_cleanup: None
|
app: Flask, with_db_and_bpmn_file_cleanup: None
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Test_there_is_at_least_one_group_after_we_create_one."""
|
"""Test_there_is_at_least_one_group_after_we_create_one."""
|
||||||
process_model_service = ProcessModelService()
|
|
||||||
process_group = ProcessGroup(id="hey", display_name="sure")
|
process_group = ProcessGroup(id="hey", display_name="sure")
|
||||||
process_model_service.add_process_group(process_group)
|
ProcessModelService.add_process_group(process_group)
|
||||||
process_groups = ProcessModelService.get_process_groups()
|
process_groups = ProcessModelService.get_process_groups()
|
||||||
assert len(process_groups) > 0
|
assert len(process_groups) > 0
|
||||||
|
|
Loading…
Reference in New Issue