import path from "node:path";
import { defineConfig } from "vitest/config";

/**
 * Config Vitest séparée — vitest@3 n'aligne pas encore ses types Vite avec
 * vite@8 (rolldown). On déclare ici tout ce qui est test-only et on garde
 * `vite.config.ts` propre pour le bundler.
 */
export default defineConfig({
  resolve: {
    alias: {
      "@": path.resolve(__dirname, "./src"),
    },
  },
  test: {
    globals: true,
    environment: "jsdom",
    setupFiles: ["./src/test/setup.ts"],
    include: ["src/**/*.{test,spec}.{ts,tsx}"],
    // Env stubs : src/lib/env.ts valide les VITE_* au chargement et plante
    // sinon. On fournit des valeurs no-op pour les tests (l'API est mockée).
    env: {
      VITE_API_URL: "http://localhost:3333",
      VITE_PUBLIC_LANDING_URL: "http://localhost:5173",
      VITE_USE_MOCKS: "false",
    },
  },
});
