Spaces:
Sleeping
Sleeping
File size: 2,017 Bytes
05c5ed5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | import { describe, expect, it } from "vitest";
import { createGraphStore } from "./graph-store";
import { DBNode } from "app-types/workflow";
describe("workflow-store", () => {
it("source", () => {
const store = createGraphStore({
nodes: [],
edges: [],
});
const context = store();
expect(context.outputs).toEqual({});
expect(
context.getOutput({
nodeId: "v1",
path: [],
}),
).toBe(undefined);
expect(
context.getOutput({
nodeId: "v1",
path: ["person"],
}),
).toBe(undefined);
context.setOutput(
{
nodeId: "v1",
path: ["person"],
},
{
name: "cgoing",
age: 30,
},
);
expect(
context.getOutput({
nodeId: "v1",
path: ["person"],
}),
).toEqual({
name: "cgoing",
age: 30,
});
expect(
context.getOutput({
nodeId: "v1",
path: ["person", "name"],
}),
).toBe("cgoing");
expect(
context.getOutput({
nodeId: "v1",
path: ["person", "name", "xxx"],
}),
).toBe(undefined);
context.setOutput(
{
nodeId: "v2",
path: ["person", "name", "xxx"],
},
"xxx",
);
expect(
context.getOutput({
nodeId: "v2",
path: ["person", "name", "xxx"],
}),
).toBe("xxx");
});
it("default value", () => {
const store = createGraphStore({
nodes: [
{
id: "v1",
nodeConfig: {
outputSchema: {
type: "object",
properties: {
name: {
type: "string",
default: "cgoing",
},
},
},
},
} as unknown as DBNode,
],
edges: [],
});
const context = store();
expect(
context.getOutput({
nodeId: "v1",
path: ["name"],
}),
).toBe("cgoing");
});
});
|