Format everything (#211)

This commit is contained in:
Chenlei Hu
2024-07-23 15:40:54 -04:00
committed by GitHub
parent 648e52e39c
commit 1b7db43f8a
25 changed files with 1014 additions and 526 deletions

View File

@@ -5,87 +5,117 @@ import fs from "fs";
const WORKFLOW_DIR = "tests-ui/workflows";
describe("parseComfyWorkflow", () => {
it("parses valid workflow", async () => {
fs.readdirSync(WORKFLOW_DIR).forEach(async (file) => {
if (file.endsWith(".json")) {
const data = fs.readFileSync(`${WORKFLOW_DIR}/${file}`, "utf-8");
await expect(parseComfyWorkflow(data)).resolves.not.toThrow();
}
});
it("parses valid workflow", async () => {
fs.readdirSync(WORKFLOW_DIR).forEach(async (file) => {
if (file.endsWith(".json")) {
const data = fs.readFileSync(`${WORKFLOW_DIR}/${file}`, "utf-8");
await expect(parseComfyWorkflow(data)).resolves.not.toThrow();
}
});
});
it("workflow.nodes", async () => {
const workflow = JSON.parse(JSON.stringify(defaultGraph));
workflow.nodes = undefined;
await expect(parseComfyWorkflow(JSON.stringify(workflow))).rejects.toThrow();
it("workflow.nodes", async () => {
const workflow = JSON.parse(JSON.stringify(defaultGraph));
workflow.nodes = undefined;
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).rejects.toThrow();
workflow.nodes = null;
await expect(parseComfyWorkflow(JSON.stringify(workflow))).rejects.toThrow();
workflow.nodes = null;
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).rejects.toThrow();
workflow.nodes = [];
await expect(parseComfyWorkflow(JSON.stringify(workflow))).resolves.not.toThrow();
});
workflow.nodes = [];
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).resolves.not.toThrow();
});
it("workflow.version", async () => {
const workflow = JSON.parse(JSON.stringify(defaultGraph));
workflow.version = undefined;
await expect(parseComfyWorkflow(JSON.stringify(workflow))).rejects.toThrow();
it("workflow.version", async () => {
const workflow = JSON.parse(JSON.stringify(defaultGraph));
workflow.version = undefined;
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).rejects.toThrow();
workflow.version = "1.0.1"; // Invalid format.
await expect(parseComfyWorkflow(JSON.stringify(workflow))).rejects.toThrow();
workflow.version = "1.0.1"; // Invalid format.
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).rejects.toThrow();
workflow.version = 1;
await expect(parseComfyWorkflow(JSON.stringify(workflow))).resolves.not.toThrow();
});
workflow.version = 1;
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).resolves.not.toThrow();
});
it("workflow.extra", async () => {
const workflow = JSON.parse(JSON.stringify(defaultGraph));
workflow.extra = undefined;
await expect(parseComfyWorkflow(JSON.stringify(workflow))).resolves.not.toThrow();
it("workflow.extra", async () => {
const workflow = JSON.parse(JSON.stringify(defaultGraph));
workflow.extra = undefined;
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).resolves.not.toThrow();
workflow.extra = null;
await expect(parseComfyWorkflow(JSON.stringify(workflow))).resolves.not.toThrow();
workflow.extra = null;
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).resolves.not.toThrow();
workflow.extra = {};
await expect(parseComfyWorkflow(JSON.stringify(workflow))).resolves.not.toThrow();
workflow.extra = {};
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).resolves.not.toThrow();
workflow.extra = { foo: "bar" }; // Should accept extra fields.
await expect(parseComfyWorkflow(JSON.stringify(workflow))).resolves.not.toThrow();
});
workflow.extra = { foo: "bar" }; // Should accept extra fields.
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).resolves.not.toThrow();
});
it("workflow.nodes.pos", async () => {
const workflow = JSON.parse(JSON.stringify(defaultGraph));
workflow.nodes[0].pos = [1, 2, 3];
await expect(parseComfyWorkflow(JSON.stringify(workflow))).rejects.toThrow();
it("workflow.nodes.pos", async () => {
const workflow = JSON.parse(JSON.stringify(defaultGraph));
workflow.nodes[0].pos = [1, 2, 3];
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).rejects.toThrow();
workflow.nodes[0].pos = [1, 2];
await expect(parseComfyWorkflow(JSON.stringify(workflow))).resolves.not.toThrow();
workflow.nodes[0].pos = [1, 2];
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).resolves.not.toThrow();
// Should automatically transform the legacy format object to array.
workflow.nodes[0].pos = {"0": 3, "1": 4};
let parsedWorkflow = await parseComfyWorkflow(JSON.stringify(workflow));
expect(parsedWorkflow.nodes[0].pos).toEqual([3, 4]);
// Should automatically transform the legacy format object to array.
workflow.nodes[0].pos = { "0": 3, "1": 4 };
let parsedWorkflow = await parseComfyWorkflow(JSON.stringify(workflow));
expect(parsedWorkflow.nodes[0].pos).toEqual([3, 4]);
workflow.nodes[0].pos = {0: 3, 1: 4};
parsedWorkflow = await parseComfyWorkflow(JSON.stringify(workflow));
expect(parsedWorkflow.nodes[0].pos).toEqual([3, 4]);
});
workflow.nodes[0].pos = { 0: 3, 1: 4 };
parsedWorkflow = await parseComfyWorkflow(JSON.stringify(workflow));
expect(parsedWorkflow.nodes[0].pos).toEqual([3, 4]);
});
it("workflow.nodes.widget_values", async () => {
const workflow = JSON.parse(JSON.stringify(defaultGraph));
workflow.nodes[0].widgets_values = ["foo", "bar"];
await expect(parseComfyWorkflow(JSON.stringify(workflow))).resolves.not.toThrow();
it("workflow.nodes.widget_values", async () => {
const workflow = JSON.parse(JSON.stringify(defaultGraph));
workflow.nodes[0].widgets_values = ["foo", "bar"];
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).resolves.not.toThrow();
workflow.nodes[0].widgets_values = "foo";
await expect(parseComfyWorkflow(JSON.stringify(workflow))).rejects.toThrow();
workflow.nodes[0].widgets_values = "foo";
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).rejects.toThrow();
workflow.nodes[0].widgets_values = undefined;
await expect(parseComfyWorkflow(JSON.stringify(workflow))).resolves.not.toThrow();
workflow.nodes[0].widgets_values = undefined;
await expect(
parseComfyWorkflow(JSON.stringify(workflow))
).resolves.not.toThrow();
// The object format of widgets_values is used by VHS nodes to perform
// dynamic widgets display.
workflow.nodes[0].widgets_values = {"foo": "bar"};
const parsedWorkflow = await parseComfyWorkflow(JSON.stringify(workflow));
expect(parsedWorkflow.nodes[0].widgets_values).toEqual({"foo": "bar"});
});
// The object format of widgets_values is used by VHS nodes to perform
// dynamic widgets display.
workflow.nodes[0].widgets_values = { foo: "bar" };
const parsedWorkflow = await parseComfyWorkflow(JSON.stringify(workflow));
expect(parsedWorkflow.nodes[0].widgets_values).toEqual({ foo: "bar" });
});
});