From 25687460715326dd52f2723280c2ce7e1094f077 Mon Sep 17 00:00:00 2001 From: Chenlei Hu Date: Thu, 18 Jul 2024 10:13:05 -0400 Subject: [PATCH] Add node search service test (#158) --- babel.config.json | 9 +-- src/scripts/app.ts | 2 +- tests-ui/tests/nodeSearchService.test.ts | 86 ++++++++++++++++++++++++ 3 files changed, 88 insertions(+), 9 deletions(-) create mode 100644 tests-ui/tests/nodeSearchService.test.ts diff --git a/babel.config.json b/babel.config.json index 9a4101af5..70d1efb8f 100644 --- a/babel.config.json +++ b/babel.config.json @@ -3,13 +3,6 @@ "@babel/preset-env" ], "plugins": [ - "babel-plugin-transform-import-meta", - [ - "transform-rename-import", - { - "original": "^(.+?)\\.js$", - "replacement": "$1" - } - ] + "babel-plugin-transform-import-meta" ] } \ No newline at end of file diff --git a/src/scripts/app.ts b/src/scripts/app.ts index 4deb7c5ea..37936667d 100644 --- a/src/scripts/app.ts +++ b/src/scripts/app.ts @@ -1734,7 +1734,7 @@ export class ComfyApp { // Need to load core extensions first as some custom extensions // may depend on them. - await import("../extensions/core/index.js"); + await import("../extensions/core/index"); await Promise.all( extensions .filter((extension) => !extension.includes("extensions/core")) diff --git a/tests-ui/tests/nodeSearchService.test.ts b/tests-ui/tests/nodeSearchService.test.ts new file mode 100644 index 000000000..fecc77d9b --- /dev/null +++ b/tests-ui/tests/nodeSearchService.test.ts @@ -0,0 +1,86 @@ +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); + }); +}); \ No newline at end of file