Journey functionality

This commit is contained in:
space-nuko
2023-06-02 22:28:18 -05:00
parent 4f237d01a5
commit ab6266704c
11 changed files with 537 additions and 56 deletions

View File

@@ -0,0 +1,71 @@
import { get } from "svelte/store";
import journeyState, { type JourneyState } from "$lib/stores/journeyState"
import { expect } from 'vitest';
import UnitTest from "../UnitTest";
import { Watch } from "@litegraph-ts/nodes-basic";
import { ComfyBoxWorkflow } from "$lib/stores/workflowState";
import { ComfyNumberNode } from "$lib/nodes/widgets";
import { LiteGraph } from "@litegraph-ts/core";
import { getWorkflowRestoreParamsFromWorkflow } from "$lib/restoreParameters";
import { calculateWorkflowParamsPatch } from "$lib/stores/journeyStates";
export default class journeyStateTests extends UnitTest {
test__patches() {
const [workflow, layoutState] = ComfyBoxWorkflow.create()
const { graph, journey } = workflow;
layoutState.initDefaultLayout() // adds 3 containers
const widget1 = LiteGraph.createNode(ComfyNumberNode);
const widget2 = LiteGraph.createNode(ComfyNumberNode);
const watch1 = LiteGraph.createNode(Watch);
const watch2 = LiteGraph.createNode(Watch);
graph.add(widget1)
graph.add(watch1)
graph.add(widget2)
graph.add(watch2)
widget1.connect(0, watch1, 0);
widget2.connect(0, watch2, 0);
widget1.setValue(0)
widget2.setValue(0)
let workflowParams = getWorkflowRestoreParamsFromWorkflow(workflow)
const root = journey.addNode(workflowParams, null);
expect(root).toEqual({
id: root.id,
type: "root",
children: [],
base: {
[widget1.id]: {
type: "workflow",
finalValue: 0,
},
[widget2.id]: {
type: "workflow",
finalValue: 0,
}
}
});
widget1.setValue(5)
workflowParams = getWorkflowRestoreParamsFromWorkflow(workflow)
const patchParams = calculateWorkflowParamsPatch(root, workflowParams)
const patch = journey.addNode(patchParams, root.id);
expect(patch).toEqual({
id: patch.id,
type: "patch",
parent: root,
children: [],
patch: {
[widget1.id]: {
type: "workflow",
finalValue: 5
},
}
})
}
}