import type { DesktopBridge } from "@t3tools/contracts"; import { afterEach, beforeEach, describe, expect, it, vi } from "@effect/vitest"; import { __resetDesktopPrimaryAuthForTests, readDesktopPrimaryBearerToken } from "./desktopAuth"; describe("desktop primary auth", () => { beforeEach(() => { Object.defineProperty(globalThis, "window", { configurable: true, value: {}, }); }); afterEach(() => { __resetDesktopPrimaryAuthForTests(); Reflect.deleteProperty(globalThis, "window"); }); it("reuses the main-process bearer token across renderer requests", async () => { const getLocalEnvironmentBearerToken = vi.fn().mockResolvedValue("desktop-bearer-token"); window.desktopBridge = { getLocalEnvironmentBearerToken, } as unknown as DesktopBridge; await expect(readDesktopPrimaryBearerToken()).resolves.toBe("desktop-bearer-token"); await expect(readDesktopPrimaryBearerToken()).resolves.toBe("desktop-bearer-token"); expect(getLocalEnvironmentBearerToken).toHaveBeenCalledTimes(1); }); it("does not require desktop auth in a browser", async () => { await expect(readDesktopPrimaryBearerToken()).resolves.toBeNull(); }); });