You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.2 KiB
90 lines
2.2 KiB
import { afterEach, vi } from "vitest";
|
|
import { cleanup } from "@testing-library/react";
|
|
import { enableMapSet } from "immer";
|
|
import "@testing-library/jest-dom";
|
|
import "@testing-library/user-event";
|
|
import i18n from "i18next";
|
|
import { initReactI18next } from "react-i18next";
|
|
import channelsEN from "@app/i18n/locales/en/channels.json";
|
|
import commandPaletteEN from "@app/i18n/locales/en/commandPalette.json";
|
|
import commonEN from "@app/i18n/locales/en/common.json";
|
|
import deviceConfigEN from "@app/i18n/locales/en/deviceConfig.json";
|
|
import moduleConfigEN from "@app/i18n/locales/en/moduleConfig.json";
|
|
import dashboardEN from "@app/i18n/locales/en/dashboard.json";
|
|
import dialogEN from "@app/i18n/locales/en/dialog.json";
|
|
import messagesEN from "@app/i18n/locales/en/messages.json";
|
|
import nodesEN from "@app/i18n/locales/en/nodes.json";
|
|
import uiEN from "@app/i18n/locales/en/ui.json";
|
|
|
|
enableMapSet();
|
|
|
|
vi.mock("idb-keyval", () => ({
|
|
get: vi.fn(() => Promise.resolve(undefined)),
|
|
set: vi.fn(() => Promise.resolve()),
|
|
del: vi.fn(() => Promise.resolve()),
|
|
clear: vi.fn(() => Promise.resolve()),
|
|
keys: vi.fn(() => Promise.resolve([])),
|
|
createStore: vi.fn(() => ({})),
|
|
}));
|
|
|
|
globalThis.ResizeObserver = class {
|
|
observe() {}
|
|
unobserve() {}
|
|
disconnect() {}
|
|
};
|
|
|
|
const appNamespaces = [
|
|
"channels",
|
|
"commandPalette",
|
|
"common",
|
|
"deviceConfig",
|
|
"moduleConfig",
|
|
"dashboard",
|
|
"dialog",
|
|
"messages",
|
|
"nodes",
|
|
"ui",
|
|
];
|
|
const appFallbackNS = ["common", "ui", "dialog"];
|
|
const appDefaultNS = "common";
|
|
|
|
i18n
|
|
.use(initReactI18next)
|
|
.init({
|
|
lng: "en",
|
|
fallbackLng: "en",
|
|
|
|
ns: appNamespaces,
|
|
defaultNS: appDefaultNS,
|
|
fallbackNS: appFallbackNS,
|
|
|
|
supportedLngs: ["en"],
|
|
|
|
resources: {
|
|
en: {
|
|
channels: channelsEN,
|
|
commandPalette: commandPaletteEN,
|
|
common: commonEN,
|
|
deviceConfig: deviceConfigEN,
|
|
moduleConfig: moduleConfigEN,
|
|
dashboard: dashboardEN,
|
|
dialog: dialogEN,
|
|
messages: messagesEN,
|
|
nodes: nodesEN,
|
|
ui: uiEN,
|
|
},
|
|
},
|
|
|
|
interpolation: {
|
|
escapeValue: false,
|
|
},
|
|
|
|
react: {
|
|
useSuspense: false,
|
|
},
|
|
debug: false,
|
|
});
|
|
|
|
afterEach(() => {
|
|
cleanup();
|
|
});
|
|
|