Convert vanilla workflow tests
This commit is contained in:
@@ -166,7 +166,6 @@ function isVanillaWorkflow(data: any): data is SerializedLGraph {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type BackendNodeDef = {
|
type BackendNodeDef = {
|
||||||
ctor: new (title?: string) => ComfyBackendNode,
|
|
||||||
nodeDef: ComfyNodeDef
|
nodeDef: ComfyNodeDef
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -358,7 +357,6 @@ export default class ComfyApp {
|
|||||||
LiteGraph.registerNodeType(node);
|
LiteGraph.registerNodeType(node);
|
||||||
node.category = nodeDef.category;
|
node.category = nodeDef.category;
|
||||||
ComfyApp.knownBackendNodes[nodeId] = {
|
ComfyApp.knownBackendNodes[nodeId] = {
|
||||||
ctor,
|
|
||||||
nodeDef
|
nodeDef
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
41
src/tests/convertVanillaWorkflowTests.ts
Normal file
41
src/tests/convertVanillaWorkflowTests.ts
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import { expect } from 'vitest';
|
||||||
|
import UnitTest from "./UnitTest";
|
||||||
|
import { readFile } from "fs/promises"
|
||||||
|
import { get } from "svelte/store";
|
||||||
|
import convertVanillaWorkflow, { type ComfyVanillaWorkflow } from '$lib/convertVanillaWorkflow';
|
||||||
|
import type { WorkflowAttributes } from '$lib/stores/workflowState';
|
||||||
|
import { defaultWorkflowAttributes, type IDragItem, type WidgetLayout } from '$lib/stores/layoutStates';
|
||||||
|
import ComfyApp from '$lib/components/ComfyApp';
|
||||||
|
import { LiteGraph } from '@litegraph-ts/core';
|
||||||
|
import type { ComfyNodeDef } from '$lib/ComfyNodeDef';
|
||||||
|
|
||||||
|
const objectInfo: Record<string, ComfyNodeDef> = await import("./data/objectInfo.json")
|
||||||
|
const json1: ComfyVanillaWorkflow = await import("./data/convertedWidgetAndPrimitiveNode.json")
|
||||||
|
|
||||||
|
export default class convertVanillaWorkflowTests extends UnitTest {
|
||||||
|
test__convertsPrimitiveNodeAndConvertedInput() {
|
||||||
|
const workflow = LiteGraph.cloneObject(json1)
|
||||||
|
const attrs: WorkflowAttributes = { ...defaultWorkflowAttributes }
|
||||||
|
|
||||||
|
const converted = convertVanillaWorkflow(workflow, attrs)
|
||||||
|
|
||||||
|
ComfyApp.knownBackendNodes["KSampler"] = {
|
||||||
|
nodeDef: objectInfo["KSampler"]
|
||||||
|
}
|
||||||
|
|
||||||
|
expect(converted).toBeInstanceOf(Array)
|
||||||
|
|
||||||
|
const [convWorkflow, convLayout] = converted;
|
||||||
|
|
||||||
|
const layout = get(convLayout)
|
||||||
|
|
||||||
|
expect(Object.keys(layout.allItems)).toHaveLength(4)
|
||||||
|
|
||||||
|
const widget = Object.values(layout.allItems).find(di => di.dragItem.type === "widget")?.dragItem as WidgetLayout;
|
||||||
|
expect(widget).toBeDefined();
|
||||||
|
expect(widget.attrs.title).toEqual("cfg")
|
||||||
|
expect(widget.node).toBeDefined();
|
||||||
|
expect(widget.node.type).toEqual("ui/number")
|
||||||
|
expect(convWorkflow.graph.getNodeById(widget.node.id)).toEqual(widget.node)
|
||||||
|
}
|
||||||
|
}
|
||||||
1
src/tests/data/objectInfo.json
Normal file
1
src/tests/data/objectInfo.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"KSampler":{"input":{"required":{"model":["MODEL"],"seed":["INT",{"default":0,"min":0,"max":18446744073709552000}],"steps":["INT",{"default":20,"min":1,"max":10000}],"cfg":["FLOAT",{"default":8,"min":0,"max":100}],"sampler_name":[["euler","euler_ancestral","heun","dpm_2","dpm_2_ancestral","lms","dpm_fast","dpm_adaptive","dpmpp_2s_ancestral","dpmpp_sde","dpmpp_2m","ddim","uni_pc","uni_pc_bh2"]],"scheduler":[["normal","karras","simple","ddim_uniform"]],"positive":["CONDITIONING"],"negative":["CONDITIONING"],"latent_image":["LATENT"],"denoise":["FLOAT",{"default":1,"min":0,"max":1,"step":0.01}]}},"output":["LATENT"],"output_is_list":[false],"output_name":["LATENT"],"name":"KSampler","display_name":"KSampler","description":"","category":"sampling"}}
|
||||||
@@ -2,3 +2,4 @@ export { default as ComfyPromptSerializerTests } from "./ComfyPromptSerializerTe
|
|||||||
export { default as ComfyGraphTests } from "./ComfyGraphTests"
|
export { default as ComfyGraphTests } from "./ComfyGraphTests"
|
||||||
export { default as parseA1111Tests } from "./parseA1111Tests"
|
export { default as parseA1111Tests } from "./parseA1111Tests"
|
||||||
export { default as convertA1111ToStdPromptTests } from "./convertA1111ToStdPromptTests"
|
export { default as convertA1111ToStdPromptTests } from "./convertA1111ToStdPromptTests"
|
||||||
|
export { default as convertVanillaWorkflowTest } from "./convertVanillaWorkflowTests"
|
||||||
|
|||||||
Reference in New Issue
Block a user