/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ // Unset NO_COLOR environment variable to ensure consistent theme behavior between local and CI test runs if (process.env.NO_COLOR !== undefined) { delete process.env.NO_COLOR; } import { setSimulate429 } from './src/utils/testUtils.js'; import { vi, afterEach } from 'vitest'; import { coreEvents } from './src/utils/events.js'; // Increase max listeners to avoid warnings in large test suites coreEvents.setMaxListeners(100); // Disable 429 simulation globally for all tests setSimulate429(false); afterEach(() => { vi.unstubAllEnvs(); }); // Default mocks for Storage and ProjectRegistry to prevent disk access in most tests. // These can be overridden in specific tests using vi.unmock(). vi.mock('./src/config/projectRegistry.js', async (importOriginal) => { const actual = await importOriginal(); actual.ProjectRegistry.prototype.initialize = vi.fn(() => Promise.resolve(undefined), ); actual.ProjectRegistry.prototype.getShortId = vi.fn(() => Promise.resolve('project-slug'), ); return actual; }); vi.mock('./src/config/storageMigration.js', async (importOriginal) => { const actual = await importOriginal(); actual.StorageMigration.migrateDirectory = vi.fn(() => Promise.resolve(undefined), ); return actual; }); vi.mock('./src/config/storage.js', async (importOriginal) => { const actual = await importOriginal(); actual.Storage.prototype.initialize = vi.fn(() => Promise.resolve(undefined)); // eslint-disable-next-line @typescript-eslint/no-explicit-any (actual.Storage.prototype as any).getProjectIdentifier = vi.fn( () => 'project-slug', ); return actual; });