import { NodeSearchService } from "@/services/nodeSearchService"; import { ComfyNodeDef } from "@/types/apiTypes"; const EXAMPLE_NODE_DEFS: ComfyNodeDef[] = [{ "input": { "required": { "ckpt_name": [ [ "model1.safetensors", "model2.ckpt" ] ] } }, "output": [ "MODEL", "CLIP", "VAE" ], "output_is_list": [ false, false, false ], "output_name": [ "MODEL", "CLIP", "VAE" ], "name": "CheckpointLoaderSimple", "display_name": "Load Checkpoint", "description": "", "python_module": "nodes", "category": "loaders", "output_node": false, }, { "input": { "required": { "samples": [ "LATENT" ], "batch_index": [ "INT", { "default": 0, "min": 0, "max": 63 } ], "length": [ "INT", { "default": 1, "min": 1, "max": 64 } ] } }, "output": [ "LATENT" ], "output_is_list": [ false ], "output_name": [ "LATENT" ], "name": "LatentFromBatch", "display_name": "Latent From Batch", "description": "", "python_module": "nodes", "category": "latent/batch", "output_node": false }, ]; describe("nodeSearchService", () => { it("searches with input filter", () => { const service = new NodeSearchService(EXAMPLE_NODE_DEFS); const inputFilter = service.getFilterById("input"); expect(service.searchNode("L", [[inputFilter, "LATENT"]])).toHaveLength(1); expect(service.searchNode("L")).toHaveLength(2); }); });