Component/runtime specs (*.nuxt.spec.ts) run in the Nuxt environment; all other specs run in a plain node environment where node_modules stay external, so native CJS deps like `pg` load correctly (the Nuxt runtime inlines them and breaks pg's internal `class … extends Pool`). Adds tests/helpers/db.ts, which spins up and migrates a dedicated test database for repository integration tests, and renames the board spec to the .nuxt suffix.
31 lines
919 B
TypeScript
31 lines
919 B
TypeScript
import { defineConfig } from 'vitest/config'
|
|
import { defineVitestConfig } from '@nuxt/test-utils/config'
|
|
|
|
// Two projects, split by filename:
|
|
// • *.nuxt.spec.ts → run in the Nuxt runtime (components, anything needing
|
|
// auto-imports or the app environment).
|
|
// • everything else → a plain node environment. node_modules stay external,
|
|
// so native CJS deps like `pg` load correctly (the Nuxt runtime inlines them
|
|
// and breaks pg's internal `class … extends Pool`).
|
|
export default defineConfig({
|
|
test: {
|
|
projects: [
|
|
{
|
|
test: {
|
|
name: 'server',
|
|
environment: 'node',
|
|
include: ['tests/**/*.spec.ts'],
|
|
exclude: ['tests/**/*.nuxt.spec.ts'],
|
|
},
|
|
},
|
|
defineVitestConfig({
|
|
test: {
|
|
name: 'nuxt',
|
|
environment: 'nuxt',
|
|
include: ['tests/**/*.nuxt.spec.ts'],
|
|
},
|
|
}),
|
|
],
|
|
},
|
|
})
|