mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-01-11 18:35:17 +00:00
5818ca83a2
* setup ui unit tests * Refactoring, adding connections * Few tweaks * Fix type * Add general test * Refactored and extended test * move to describe * for groups * Add test for converted widgets on missing nodes + fix crash * tidy * mores tests + refactor * throw earlier to get less confusing error * support outputs * more test * add ci action * use lts node * Fix? * Prevent connecting non matching combos * update * accidently removed npm i * Disable logging extension * added step to generate object_info * fix python * install python * install deps * fix cwd? * logging * Fix double resolve * create dir * update pkg
46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
require("../../web/scripts/api");
|
|
|
|
const fs = require("fs");
|
|
const path = require("path");
|
|
function* walkSync(dir) {
|
|
const files = fs.readdirSync(dir, { withFileTypes: true });
|
|
for (const file of files) {
|
|
if (file.isDirectory()) {
|
|
yield* walkSync(path.join(dir, file.name));
|
|
} else {
|
|
yield path.join(dir, file.name);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @typedef { import("../../web/types/comfy").ComfyObjectInfo } ComfyObjectInfo
|
|
*/
|
|
|
|
/**
|
|
* @param { { mockExtensions?: string[], mockNodeDefs?: Record<string, ComfyObjectInfo> } } config
|
|
*/
|
|
export function mockApi({ mockExtensions, mockNodeDefs } = {}) {
|
|
if (!mockExtensions) {
|
|
mockExtensions = Array.from(walkSync(path.resolve("../web/extensions/core")))
|
|
.filter((x) => x.endsWith(".js"))
|
|
.map((x) => path.relative(path.resolve("../web"), x));
|
|
}
|
|
if (!mockNodeDefs) {
|
|
mockNodeDefs = JSON.parse(fs.readFileSync(path.resolve("./data/object_info.json")));
|
|
}
|
|
|
|
jest.mock("../../web/scripts/api", () => ({
|
|
get api() {
|
|
return {
|
|
addEventListener: jest.fn(),
|
|
getSystemStats: jest.fn(),
|
|
getExtensions: jest.fn(() => mockExtensions),
|
|
getNodeDefs: jest.fn(() => mockNodeDefs),
|
|
init: jest.fn(),
|
|
apiURL: jest.fn((x) => "../../web/" + x),
|
|
};
|
|
},
|
|
}));
|
|
}
|