2025-02-28 19:11:12 +02:00
|
|
|
import { beforeAll, vi } from "vitest";
|
|
|
|
import $ from "jquery";
|
|
|
|
|
2025-02-28 19:12:19 +02:00
|
|
|
injectGlobals();
|
|
|
|
|
2025-02-28 19:11:12 +02:00
|
|
|
beforeAll(() => {
|
|
|
|
vi.mock("./services/ws.js", mockWebsocket);
|
|
|
|
vi.mock("./services/server.js", mockServer);
|
|
|
|
});
|
|
|
|
|
|
|
|
function injectGlobals() {
|
|
|
|
const uncheckedWindow = window as any;
|
|
|
|
uncheckedWindow.$ = $;
|
|
|
|
uncheckedWindow.WebSocket = () => {};
|
|
|
|
uncheckedWindow.glob = {
|
|
|
|
isMainWindow: true
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
function mockWebsocket() {
|
|
|
|
return {
|
|
|
|
default: {
|
|
|
|
subscribeToMessages(callback: (message: unknown) => void) {
|
|
|
|
// Do nothing.
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function mockServer() {
|
|
|
|
return {
|
|
|
|
default: {
|
|
|
|
async get(url: string) {
|
|
|
|
if (url === "options") {
|
|
|
|
return {};
|
|
|
|
}
|
|
|
|
|
|
|
|
if (url === "keyboard-actions") {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
|
|
|
|
if (url === "tree") {
|
|
|
|
return {
|
|
|
|
branches: [],
|
|
|
|
notes: [],
|
|
|
|
attributes: []
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|