Open Source Team Metrics based on PRs
at main 1.5 kB view raw
1// jest.setup.ts 2import '@testing-library/jest-dom'; 3 4// Polyfill for Request/Response in Node environment 5import 'whatwg-fetch'; 6 7// Mock next-auth module 8jest.mock('next-auth', () => ({ 9 __esModule: true, 10 default: jest.fn(), 11})); 12 13jest.mock('@/auth', () => ({ 14 __esModule: true, 15 auth: jest.fn(), 16})); 17 18// Mock environment variables for tests 19process.env.TURSO_URL = 'libsql://test.turso.io'; 20process.env.TURSO_TOKEN = 'test-token'; 21process.env.GITHUB_OAUTH_CLIENT_ID = 'test-github-client-id'; 22process.env.GITHUB_OAUTH_CLIENT_SECRET = 'test-github-client-secret'; 23process.env.GITHUB_APP_ID = '123456'; 24process.env.GITHUB_APP_PRIVATE_KEY = `-----BEGIN RSA PRIVATE KEY----- 25test-private-key 26-----END RSA PRIVATE KEY-----`; 27process.env.GITHUB_WEBHOOK_SECRET = 'test-webhook-secret'; 28process.env.NEXT_PUBLIC_GITHUB_APP_SLUG = 'test-pr-cat'; 29process.env.NEXTAUTH_URL = 'http://localhost:3000'; 30process.env.NEXTAUTH_SECRET = 'test-nextauth-secret-minimum-32-characters-long'; 31process.env.APP_URL = 'http://localhost:3000'; 32(process.env as any).NODE_ENV = 'test'; 33 34// Mock console methods to reduce noise in tests 35const originalConsoleError = console.error; 36global.console = { 37 ...console, 38 error: jest.fn((message, ...args) => { 39 // Filter out expected CORS/fetch errors in tests 40 if (typeof message === 'string' && 41 (message.includes('Response for preflight') || 42 message.includes('XMLHttpRequest'))) { 43 return; 44 } 45 originalConsoleError(message, ...args); 46 }), 47 warn: jest.fn(), 48 log: jest.fn(), 49};