better-chatbot / src /lib /ai /workflow /executor /graph-store.test.ts
Bot
Initial commit for HF Spaces
05c5ed5
Raw
History Blame Contribute Delete
2.02 kB
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");
});
});