test(integration): add real-stack integration test suite with PGlite
- PGlite (in-memory WASM Postgres) hosted in a child process, exposed via TCP socket; real migrations applied with prisma migrate deploy - Vitest harness (vitest.integration.config.ts, global-setup spawns PGlite + built Nuxt server, per-test TRUNCATE, factories, cookie-jar API client); no mocks, zero production code changes - 50 tests across auth, hunt, team, submit, review, showcase, diashow incl. SuperJSON envelope check; *.itest.ts keeps bun test untouched - CI: parallel unit + integration jobs in .github/workflows/test.yml - tests/ covered by nuxt typecheck via tests/tsconfig.json reference
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
{
|
||||
// Integration tests + helpers. Picked up by `nuxt typecheck` through the
|
||||
// reference in the root tsconfig.json. Mirrors the options of the
|
||||
// Nuxt-generated tsconfigs, minus noUncheckedIndexedAccess (tests assert
|
||||
// on indexed access all the time).
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"~~": [".."],
|
||||
"~~/*": ["../*"],
|
||||
"#shared": ["../shared"],
|
||||
"#shared/*": ["../shared/*"]
|
||||
},
|
||||
"esModuleInterop": true,
|
||||
"skipLibCheck": true,
|
||||
"target": "ESNext",
|
||||
"resolveJsonModule": true,
|
||||
"moduleDetection": "force",
|
||||
"isolatedModules": true,
|
||||
"verbatimModuleSyntax": true,
|
||||
"strict": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"noImplicitOverride": true,
|
||||
"module": "preserve",
|
||||
"noEmit": true,
|
||||
"types": ["node"],
|
||||
"moduleResolution": "Bundler",
|
||||
"useDefineForClassFields": true,
|
||||
"noImplicitThis": true,
|
||||
"allowSyntheticDefaultImports": true
|
||||
},
|
||||
"include": ["./**/*.ts", "../vitest.integration.config.ts"],
|
||||
"exclude": ["../node_modules"]
|
||||
}
|
||||
Reference in New Issue
Block a user