/** * Vitest Test Setup * * Creates mock objects for testing */ import { vi } from 'vitest'; // Mock environment variables vi.stubEnv('JWT_SECRET', 'test-jwt-secret-for-unit-tests'); vi.stubEnv('NODE_ENV', 'test'); // ============================================ // MOCK PRISMA // ============================================ export const mockPrisma = { user: { findUnique: vi.fn(), create: vi.fn(), update: vi.fn(), findMany: vi.fn(), }, exercise: { findUnique: vi.fn(), findMany: vi.fn(), findFirst: vi.fn(), count: vi.fn(), create: vi.fn(), update: vi.fn(), }, exerciseAttempt: { create: vi.fn(), findMany: vi.fn(), findFirst: vi.fn(), count: vi.fn(), aggregate: vi.fn(), }, progress: { findUnique: vi.fn(), findMany: vi.fn(), create: vi.fn(), update: vi.fn(), upsert: vi.fn(), }, ranking: { findUnique: vi.fn(), findMany: vi.fn(), create: vi.fn(), update: vi.fn(), upsert: vi.fn(), }, module: { findUnique: vi.fn(), findMany: vi.fn(), }, $transaction: vi.fn((callback) => callback(mockPrisma)), };