import { describe, expect, it } from "vite-plus/test"; import { deriveAuthClientMetadata } from "./utils.ts"; describe("deriveAuthClientMetadata", () => { it("labels Electron user agents as Electron instead of Chrome", () => { const metadata = deriveAuthClientMetadata({ request: { headers: { "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) t3code/0.0.15 Chrome/136.0.7103.93 Electron/36.3.2 Safari/537.36", }, source: { remoteAddress: "::ffff:127.0.0.1", }, } as never, }); expect(metadata).toMatchObject({ browser: "Electron", deviceType: "desktop", ipAddress: "127.0.0.1", os: "macOS", }); }); it("applies client-presented display identity without replacing transport metadata", () => { const metadata = deriveAuthClientMetadata({ request: { headers: { "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/136.0.7103.93 Electron/36.3.2 Safari/537.36", }, source: { remoteAddress: "::ffff:192.168.213.72", }, } as never, presented: { label: "T3 Code Mobile", deviceType: "mobile", os: "iOS", }, }); expect(metadata).toMatchObject({ label: "T3 Code Mobile", browser: "Electron", deviceType: "mobile", ipAddress: "192.168.213.72", os: "iOS", }); expect(metadata.userAgent).toContain("Electron/36.3.2"); }); });