- Rename 132 *.vitest.mjs -> *.vitest.ts - Rename vitest.setup.mjs -> vitest.setup.ts - Rename helpers/vitestEnvironment.mjs -> vitestEnvironment.ts - Delete settings_store.test.mjs (Node test runner, superseded by .vitest.ts) - Fix .mjs imports in vitest.setup.ts and grid_loader_adaptive_paging.vitest.ts Config updates: - vitest.config.mjs: setupFiles, include, coverage.include -> .ts - tsconfig.test.json: new dedicated config for test files (strict:false) - knip.json: update project pattern for tests - package.json: add typecheck:tests script (audit-only)
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
|
|
vi.mock("../features/viewer/nodeStream/nodeStreamFeatureFlag.js", () => ({
|
|
NODE_STREAM_FEATURE_ENABLED: true,
|
|
}));
|
|
|
|
describe("entryDebugApi", () => {
|
|
beforeEach(() => {
|
|
vi.resetModules();
|
|
globalThis.window = {};
|
|
});
|
|
|
|
afterEach(() => {
|
|
delete globalThis.window;
|
|
vi.restoreAllMocks();
|
|
});
|
|
|
|
it("exposes an inspection-only Node Stream API", async () => {
|
|
const resolveNodeStreamModule = vi.fn(async () => ({
|
|
listAdapters: vi.fn(() => [{ name: "video-output", priority: 10 }]),
|
|
}));
|
|
|
|
const { exposeDebugApis } = await import("../features/runtime/entryDebugApi.js");
|
|
exposeDebugApis({ resolveNodeStreamModule });
|
|
|
|
expect(window.MajoorNodeStream.mode).toBe("selection-only");
|
|
expect(window.MajoorNodeStream.registerAdapter).toBeUndefined();
|
|
expect(window.MajoorNodeStream.createAdapter).toBeUndefined();
|
|
await expect(window.MajoorNodeStream.listAdapters()).resolves.toEqual([
|
|
{ name: "video-output", priority: 10 },
|
|
]);
|
|
});
|
|
});
|