Files
gridpilot.gg/apps/website/tests/setup/vitest.setup.ts
Marc Mintel fb1221701d
Some checks failed
Contract Testing / contract-tests (push) Failing after 6m7s
Contract Testing / contract-snapshot (push) Failing after 4m46s
add tests
2026-01-22 11:52:42 +01:00

55 lines
1.2 KiB
TypeScript

/**
* Vitest Setup for Website Components
*
* This file sets up the testing environment for website component tests.
* It mocks external dependencies and provides custom matchers.
*/
import '@testing-library/jest-dom/vitest';
import { vi } from 'vitest';
// Mock Next.js navigation
vi.mock('next/navigation', () => ({
useRouter: () => ({
push: vi.fn(),
replace: vi.fn(),
refresh: vi.fn(),
back: vi.fn(),
forward: vi.fn(),
prefetch: vi.fn(),
}),
usePathname: () => vi.fn(),
useSearchParams: () => vi.fn(),
}));
// Mock Next.js headers
vi.mock('next/headers', () => ({
headers: () => ({
get: vi.fn(),
set: vi.fn(),
}),
}));
// Mock Next.js cookies
vi.mock('next/cookies', () => ({
cookies: () => ({
get: vi.fn(),
set: vi.fn(),
delete: vi.fn(),
}),
}));
// Mock React hooks
vi.mock('react', async () => {
const actual = await vi.importActual('react');
return {
...actual,
useTransition: () => [false, vi.fn()],
useOptimistic: (initialState: any) => [initialState, vi.fn()],
};
});
// Set environment variables
process.env.NEXT_PUBLIC_API_BASE_URL = 'http://localhost:3001';
process.env.API_BASE_URL = 'http://localhost:3001';