34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
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 },
|
|
]);
|
|
});
|
|
});
|