mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-02-16 00:12:33 +08:00
Fix tests
This commit is contained in:
parent
2aec927587
commit
64e3c2bcff
@ -1,3 +1,4 @@
|
|||||||
{
|
{
|
||||||
"presets": ["@babel/preset-env"]
|
"presets": ["@babel/preset-env"],
|
||||||
|
"plugins": ["babel-plugin-transform-import-meta"]
|
||||||
}
|
}
|
||||||
|
|||||||
20
tests-ui/package-lock.json
generated
20
tests-ui/package-lock.json
generated
@ -11,6 +11,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/preset-env": "^7.22.20",
|
"@babel/preset-env": "^7.22.20",
|
||||||
"@types/jest": "^29.5.5",
|
"@types/jest": "^29.5.5",
|
||||||
|
"babel-plugin-transform-import-meta": "^2.2.1",
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
"jest-environment-jsdom": "^29.7.0"
|
"jest-environment-jsdom": "^29.7.0"
|
||||||
}
|
}
|
||||||
@ -2591,6 +2592,19 @@
|
|||||||
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
|
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/babel-plugin-transform-import-meta": {
|
||||||
|
"version": "2.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/babel-plugin-transform-import-meta/-/babel-plugin-transform-import-meta-2.2.1.tgz",
|
||||||
|
"integrity": "sha512-AxNh27Pcg8Kt112RGa3Vod2QS2YXKKJ6+nSvRtv7qQTJAdx0MZa4UHZ4lnxHUWA2MNbLuZQv5FVab4P1CoLOWw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@babel/template": "^7.4.4",
|
||||||
|
"tslib": "^2.4.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@babel/core": "^7.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/babel-preset-current-node-syntax": {
|
"node_modules/babel-preset-current-node-syntax": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
|
||||||
@ -5233,6 +5247,12 @@
|
|||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/tslib": {
|
||||||
|
"version": "2.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
||||||
|
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/type-detect": {
|
"node_modules/type-detect": {
|
||||||
"version": "4.0.8",
|
"version": "4.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
|
||||||
|
|||||||
@ -24,6 +24,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/preset-env": "^7.22.20",
|
"@babel/preset-env": "^7.22.20",
|
||||||
"@types/jest": "^29.5.5",
|
"@types/jest": "^29.5.5",
|
||||||
|
"babel-plugin-transform-import-meta": "^2.2.1",
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
"jest-environment-jsdom": "^29.7.0"
|
"jest-environment-jsdom": "^29.7.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,9 +18,16 @@ function* walkSync(dir) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param { { mockExtensions?: string[], mockNodeDefs?: Record<string, ComfyObjectInfo> } } config
|
* @param {
|
||||||
|
* {
|
||||||
|
* mockExtensions?: string[],
|
||||||
|
* mockNodeDefs?: Record<string, ComfyObjectInfo>,
|
||||||
|
* users?: boolean | Record<string, string>
|
||||||
|
* settings?: Record<string, string>
|
||||||
|
* userData?: Record<string, any>
|
||||||
|
* } } config
|
||||||
*/
|
*/
|
||||||
export function mockApi({ mockExtensions, mockNodeDefs } = {}) {
|
export function mockApi({ mockExtensions, mockNodeDefs, users, settings, userData } = {}) {
|
||||||
if (!mockExtensions) {
|
if (!mockExtensions) {
|
||||||
mockExtensions = Array.from(walkSync(path.resolve("../web/extensions/core")))
|
mockExtensions = Array.from(walkSync(path.resolve("../web/extensions/core")))
|
||||||
.filter((x) => x.endsWith(".js"))
|
.filter((x) => x.endsWith(".js"))
|
||||||
@ -29,7 +36,16 @@ export function mockApi({ mockExtensions, mockNodeDefs } = {}) {
|
|||||||
if (!mockNodeDefs) {
|
if (!mockNodeDefs) {
|
||||||
mockNodeDefs = JSON.parse(fs.readFileSync(path.resolve("./data/object_info.json")));
|
mockNodeDefs = JSON.parse(fs.readFileSync(path.resolve("./data/object_info.json")));
|
||||||
}
|
}
|
||||||
|
if(!users) {
|
||||||
|
users = true;
|
||||||
|
}
|
||||||
|
if(!settings) {
|
||||||
|
settings = {};
|
||||||
|
}
|
||||||
|
if(!userData) {
|
||||||
|
userData = {};
|
||||||
|
}
|
||||||
|
|
||||||
const events = new EventTarget();
|
const events = new EventTarget();
|
||||||
const mockApi = {
|
const mockApi = {
|
||||||
addEventListener: events.addEventListener.bind(events),
|
addEventListener: events.addEventListener.bind(events),
|
||||||
@ -40,6 +56,15 @@ export function mockApi({ mockExtensions, mockNodeDefs } = {}) {
|
|||||||
getNodeDefs: jest.fn(() => mockNodeDefs),
|
getNodeDefs: jest.fn(() => mockNodeDefs),
|
||||||
init: jest.fn(),
|
init: jest.fn(),
|
||||||
apiURL: jest.fn((x) => "../../web/" + x),
|
apiURL: jest.fn((x) => "../../web/" + x),
|
||||||
|
getUsers: jest.fn(() => users),
|
||||||
|
getSettings: jest.fn(() => settings ?? {}),
|
||||||
|
getUserData: jest.fn(f => {
|
||||||
|
if(f in userData) {
|
||||||
|
return { status: 200, json: () => userData[f] };
|
||||||
|
} else {
|
||||||
|
return { status: 404 }
|
||||||
|
}
|
||||||
|
})
|
||||||
};
|
};
|
||||||
jest.mock("../../web/scripts/api", () => ({
|
jest.mock("../../web/scripts/api", () => ({
|
||||||
get api() {
|
get api() {
|
||||||
|
|||||||
@ -323,6 +323,14 @@ class ComfyApi extends EventTarget {
|
|||||||
await this.#postItem("interrupt", null);
|
await this.#postItem("interrupt", null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets all setting values for the current user
|
||||||
|
* @returns { Promise<string, unknown> } A dictionary of id -> value
|
||||||
|
*/
|
||||||
|
async getUsers() {
|
||||||
|
return (await this.fetchApi("/users")).json();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets all setting values for the current user
|
* Gets all setting values for the current user
|
||||||
* @returns { Promise<string, unknown> } A dictionary of id -> value
|
* @returns { Promise<string, unknown> } A dictionary of id -> value
|
||||||
|
|||||||
@ -1304,7 +1304,7 @@ export class ComfyApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async #setUser() {
|
async #setUser() {
|
||||||
const users = await (await api.fetchApi("users")).json();
|
const users = await api.getUsers();
|
||||||
if(typeof users === "boolean") {
|
if(typeof users === "boolean") {
|
||||||
// Single user mode returns true/false for if the default user is created
|
// Single user mode returns true/false for if the default user is created
|
||||||
if(!users) {
|
if(!users) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user