import { defineConfig, mergeConfig } from 'vitest/config' import viteConfig from './vite.config' /** * Конфігурація тестів окремим файлом, але поверх вітової. * * Vitest бере vite.config.ts лише тоді, коли власного конфіга немає; * щойно він з'являється — вітовий ігнорується цілком. Тому mergeConfig: * інакше тести збиралися б без плагіна React (JSX не трансформується) і * без tailwind, тобто другим, розбіжним конвеєром збірки. Саме цього ми * й уникали, обираючи vitest замість jest. */ export default mergeConfig( viteConfig, defineConfig({ test: { // jsdom потрібен лише частині тестів (компоненти), але вмикати // його вибірково через докблоки означало б, що забутий докблок // ламає тест незрозумілою помилкою «document is not defined». environment: 'jsdom', globals: false, setupFiles: ['./src/test/setup.ts'], include: ['src/**/*.test.{ts,tsx}'], // Тести живуть поруч із кодом, а не в окремому дереві: шлях до // модуля, який перевіряється, має бути видно з імені файла. restoreMocks: true, }, }), )