import { describe, expect, it } from "vitest"; import { SETTINGS_TABS, loadSettingsTab, parseSettingsTab, requestSettingsTab, saveSettingsTab } from "./settingsTab"; describe("settings tab persistence", () => { it("maps stored ids to indexes and falls back to the first tab", () => { expect(parseSettingsTab("fonts")).toBe(SETTINGS_TABS.findIndex((t) => t.id === "fonts")); expect(parseSettingsTab("nope")).toBe(0); expect(parseSettingsTab(null)).toBe(0); }); it("does not throw when storage is unavailable", () => { // The node test environment has no localStorage at all. expect(loadSettingsTab()).toBe(0); expect(() => saveSettingsTab(2)).not.toThrow(); expect(() => saveSettingsTab(99)).not.toThrow(); }); it("honours a requested tab once, then goes back to the stored one", () => { requestSettingsTab("integrations"); expect(loadSettingsTab()).toBe(SETTINGS_TABS.findIndex((t) => t.id === "integrations")); expect(loadSettingsTab()).toBe(0); }); });