/** * Test setup file for Vitest * Configure global test environment */ import { beforeAll, beforeEach } from 'vitest'; // Mock localStorage const localStorageMock = (() => { let store: Record = {}; return { getItem: (key: string) => store[key] || null, setItem: (key: string, value: string) => { store[key] = value.toString(); }, removeItem: (key: string) => { delete store[key]; }, clear: () => { store = {}; }, get length() { return Object.keys(store).length; }, key: (index: number) => { return Object.keys(store)[index] || null; }, }; })(); // Setup global mocks beforeAll(() => { // Mock crypto.randomUUID if not available if (!globalThis.crypto) { globalThis.crypto = { randomUUID: () => 'test-uuid-1234', subtle: { digest: async () => new ArrayBuffer(16), }, } as any; } }); // Setup before each test beforeEach(() => { localStorageMock.clear(); }); // Export for use in tests export { localStorageMock };