Files
mission-control/tests/stores/nav-store.test.ts
teernisse c32a71a0b0 test: add persistence test for nav store and update test setup
Adds test coverage for the navigation store's localStorage persistence
and ensures clean state between tests.

Changes:
- nav-store.test.ts: Add persistence test verifying activeView is saved
- Clear localStorage in beforeEach to prevent test pollution

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-26 09:55:48 -05:00

42 lines
1.2 KiB
TypeScript

import { describe, it, expect, beforeEach } from "vitest";
import { useNavStore } from "@/stores/nav-store";
describe("useNavStore", () => {
beforeEach(() => {
localStorage.clear();
useNavStore.setState({ activeView: "focus" });
});
it("defaults to focus view", () => {
expect(useNavStore.getState().activeView).toBe("focus");
});
it("switches to queue view", () => {
useNavStore.getState().setView("queue");
expect(useNavStore.getState().activeView).toBe("queue");
});
it("switches to inbox view", () => {
useNavStore.getState().setView("inbox");
expect(useNavStore.getState().activeView).toBe("inbox");
});
it("switches back to focus", () => {
useNavStore.getState().setView("queue");
useNavStore.getState().setView("focus");
expect(useNavStore.getState().activeView).toBe("focus");
});
describe("persistence", () => {
it("persists activeView to localStorage", () => {
useNavStore.getState().setView("queue");
const stored = localStorage.getItem("mc-nav-store");
expect(stored).not.toBeNull();
const parsed = JSON.parse(stored!);
expect(parsed.state.activeView).toBe("queue");
});
});
});