import { beforeAll } from 'vitest'; import { rmSync, mkdirSync } from 'node:fs'; // Use a dedicated, freshly-migrated file DB for the test run. process.env.DATABASE_URL = 'file:./.tmp/test.db'; process.env.BETTER_AUTH_SECRET = 'test-secret'; process.env.BETTER_AUTH_URL = 'http://localhost:3000'; // Reset the scratch DB at top level — setup files run before the test-file // module graph (and thus before db/client.ts opens, and locks, the file on // Windows). Doing this inside beforeAll would race the open libsql handle and // fail with EBUSY on unlink. rmSync('./.tmp', { recursive: true, force: true }); mkdirSync('./.tmp', { recursive: true }); beforeAll(async () => { const { runMigrations } = await import('../src/db/migrate'); await runMigrations(); });