import { describe, it, expect, vi } from "vitest"; // Mock fetch so the backend store module doesn't make real requests vi.stubGlobal( "fetch", vi.fn(() => Promise.resolve({ ok: true, json: () => Promise.resolve({}), }) ) ); // Mock WebSocket for the backend store dependency class MockWebSocket { onopen: ((ev: Event) => void) | null = null; onclose: ((ev: CloseEvent) => void) | null = null; onmessage: ((ev: MessageEvent) => void) | null = null; onerror: ((ev: Event) => void) | null = null; close = vi.fn(); } vi.stubGlobal("WebSocket", MockWebSocket); import { configStore } from "./config.svelte.ts"; describe("config store", () => { it("test_has_fetchConfig_method", () => { expect(typeof configStore.fetchConfig).toBe("function"); }); it("test_has_updateConfig_method", () => { expect(typeof configStore.updateConfig).toBe("function"); }); it("test_config_defaults_have_expected_keys", () => { const cfg = configStore.config; expect(cfg).toHaveProperty("user"); expect(cfg).toHaveProperty("audio"); expect(cfg).toHaveProperty("transcription"); expect(cfg).toHaveProperty("display"); expect(cfg).toHaveProperty("remote"); expect(cfg).toHaveProperty("updates"); }); it("test_remote_config_has_byok_api_key", () => { expect(configStore.config.remote.byok_api_key).toBeDefined(); }); });