Merge branch 'main' into feature/nested-groups-2
This commit is contained in:
commit
f73b863661
|
@ -14,6 +14,6 @@ class SpiffStepDetailsModel(SpiffworkflowBaseDBModel):
|
|||
id: int = db.Column(db.Integer, primary_key=True)
|
||||
process_instance_id: int = db.Column(db.Integer, nullable=False)
|
||||
spiff_step: int = db.Column(db.Integer, nullable=False)
|
||||
task_json: str | None = deferred(db.Column(db.JSON, nullable=False)) # type: ignore
|
||||
task_json: str = deferred(db.Column(db.JSON, nullable=False)) # type: ignore
|
||||
timestamp: float = db.Column(db.DECIMAL(17, 6), nullable=False)
|
||||
completed_by_user_id: int = db.Column(db.Integer, nullable=True)
|
||||
|
|
|
@ -19,7 +19,6 @@ class ExampleDataLoader:
|
|||
display_name: str = "",
|
||||
description: str = "",
|
||||
display_order: int = 0,
|
||||
# from_tests: bool = False,
|
||||
bpmn_file_name: Optional[str] = None,
|
||||
process_model_source_directory: Optional[str] = None,
|
||||
) -> ProcessModelInfo:
|
||||
|
@ -58,9 +57,9 @@ class ExampleDataLoader:
|
|||
if bpmn_file_name:
|
||||
file_name_matcher = bpmn_file_name_with_extension
|
||||
|
||||
# file_glob = ""
|
||||
# we need instance_path here for nox tests
|
||||
file_glob = os.path.join(
|
||||
current_app.root_path,
|
||||
current_app.instance_path,
|
||||
"..",
|
||||
"..",
|
||||
"tests",
|
||||
|
|
|
@ -26,34 +26,35 @@ test('renders hotCrumbs', () => {
|
|||
expect(nextElement).toBeInTheDocument();
|
||||
});
|
||||
|
||||
test('renders process group when given processGroupId', async () => {
|
||||
render(
|
||||
<BrowserRouter>
|
||||
<ProcessBreadcrumb processGroupId="group-a" />
|
||||
</BrowserRouter>
|
||||
);
|
||||
const processGroupElement = screen.getByText(/group-a/);
|
||||
expect(processGroupElement).toBeInTheDocument();
|
||||
const processGroupBreadcrumbs = await screen.findAllByText(
|
||||
/Process Group: group-a/
|
||||
);
|
||||
expect(processGroupBreadcrumbs[0]).toHaveClass('breadcrumb-item active');
|
||||
});
|
||||
|
||||
test('renders process model when given processModelId', async () => {
|
||||
render(
|
||||
<BrowserRouter>
|
||||
<ProcessBreadcrumb processGroupId="group-b" processModelId="model-c" />
|
||||
</BrowserRouter>
|
||||
);
|
||||
const processGroupElement = screen.getByText(/group-b/);
|
||||
expect(processGroupElement).toBeInTheDocument();
|
||||
const processModelBreadcrumbs = await screen.findAllByText(
|
||||
/Process Model: model-c/
|
||||
);
|
||||
expect(processModelBreadcrumbs[0]).toHaveClass('breadcrumb-item active');
|
||||
const processGroupBreadcrumbs = await screen.findAllByText(
|
||||
/Process Group: group-b/
|
||||
);
|
||||
expect(processGroupBreadcrumbs[0]).toBeInTheDocument();
|
||||
});
|
||||
// FIXME: update to use hotcrumbs
|
||||
// test('renders process group when given processGroupId', async () => {
|
||||
// render(
|
||||
// <BrowserRouter>
|
||||
// <ProcessBreadcrumb processGroupId="group-a" />
|
||||
// </BrowserRouter>
|
||||
// );
|
||||
// const processGroupElement = screen.getByText(/group-a/);
|
||||
// expect(processGroupElement).toBeInTheDocument();
|
||||
// const processGroupBreadcrumbs = await screen.findAllByText(
|
||||
// /Process Group: group-a/
|
||||
// );
|
||||
// expect(processGroupBreadcrumbs[0]).toHaveClass('breadcrumb-item active');
|
||||
// });
|
||||
//
|
||||
// test('renders process model when given processModelId', async () => {
|
||||
// render(
|
||||
// <BrowserRouter>
|
||||
// <ProcessBreadcrumb processGroupId="group-b" processModelId="model-c" />
|
||||
// </BrowserRouter>
|
||||
// );
|
||||
// const processGroupElement = screen.getByText(/group-b/);
|
||||
// expect(processGroupElement).toBeInTheDocument();
|
||||
// const processModelBreadcrumbs = await screen.findAllByText(
|
||||
// /Process Model: model-c/
|
||||
// );
|
||||
// expect(processModelBreadcrumbs[0]).toHaveClass('breadcrumb-item active');
|
||||
// const processGroupBreadcrumbs = await screen.findAllByText(
|
||||
// /Process Group: group-b/
|
||||
// );
|
||||
// expect(processGroupBreadcrumbs[0]).toBeInTheDocument();
|
||||
// });
|
||||
|
|
|
@ -37,7 +37,7 @@ const explodeCrumb = (crumb: HotCrumbItem) => {
|
|||
);
|
||||
} else {
|
||||
breadcrumbItems.push(
|
||||
<BreadcrumbItem isCurrentPage>{lastPathItem}</BreadcrumbItem>
|
||||
<BreadcrumbItem isCurrentPage key={lastPathItem}>{lastPathItem}</BreadcrumbItem>
|
||||
);
|
||||
}
|
||||
return breadcrumbItems;
|
||||
|
@ -56,7 +56,7 @@ export default function ProcessBreadcrumb({
|
|||
const valueLabel = crumb[0];
|
||||
const url = crumb[1];
|
||||
if (!url) {
|
||||
return <BreadcrumbItem isCurrentPage>{valueLabel}</BreadcrumbItem>;
|
||||
return <BreadcrumbItem isCurrentPage key={valueLabel}>{valueLabel}</BreadcrumbItem>;
|
||||
}
|
||||
if (url && url.startsWith('process_model:')) {
|
||||
return explodeCrumb(crumb);
|
||||
|
|
Loading…
Reference in New Issue