/** * Test setup file for vitest */ import { expect, afterEach, vi } from 'vitest'; import { cleanup } from '@testing-library/react'; import '@testing-library/jest-dom'; import 'fake-indexeddb/auto'; // Cleanup after each test afterEach(() => { cleanup(); }); // Mock window.crypto for WebAuthn tests if (typeof window !== 'undefined' && !window.crypto) { Object.defineProperty(window, 'crypto', { value: { getRandomValues: (arr: Uint8Array) => { for (let i = 0; i < arr.length; i++) { arr[i] = Math.floor(Math.random() * 256); } return arr; }, subtle: {} as SubtleCrypto, }, }); } // Mock localStorage const localStorageMock = { getItem: vi.fn(), setItem: vi.fn(), removeItem: vi.fn(), clear: vi.fn(), }; if (typeof window !== 'undefined') { Object.defineProperty(window, 'localStorage', { value: localStorageMock, }); }