import {defineConfig} from 'vitest/config'; /** * The admin module's integration tests. Separate from vitest.config.ts because * these need Docker: they run against a real MariaDB (see * docker-compose.test.yml) rather than mocks, which is the only way to catch * the Kysely/MariaDB dialect and cookie-attribute problems this module can have. * * Run with: npm run test:integration */ export default defineConfig({ test: { include: ['test/integration/**/*.test.ts'], environment: 'node', globalSetup: ['test/integration/setup.ts'], // One database, shared state: parallel files would fight over the same // user and invitation rows. fileParallelism: false, testTimeout: 30_000, hookTimeout: 180_000, env: { NODE_ENV: 'test', FEEDBACK_IP_SALT: 'vitest-salt', DB_HOST: '127.0.0.1', DB_PORT: '3307', DB_USER: 'nachklang', DB_PASSWORD: 'testpassword', ADMIN_DB: 'nachklang_admin', API_BASE_URL: 'http://localhost:3000', ADMIN_APP_URL: 'http://localhost:3002', APP_ORIGINS: 'http://localhost:3001', BETTER_AUTH_SECRET: 'integration-test-secret-not-used-anywhere-else', PASSKEY_RP_ID: 'localhost', ADMIN_BOOTSTRAP_EMAIL: 'boot@nachklang.art', SALESFORCE_ENABLED: 'false' } } });