f2b9239d82
Adds the initial testing baseline for the project: Unit coverage: - Zod schemas for items, assignments, movements, categories, auth, recipients, users, and assets - password hashing and verification helpers - auth role helper functions Integration coverage with PostgreSQL Testcontainers: - item use-cases: create, duplicate names, delete constraints - assignment use-cases: create, insufficient stock, return, double return - asset use-cases: available/assigned creation and lifecycle transitions - user use-cases: create/update, uniqueness, admin safeguards, password reset - category use-cases: create/update/delete constraints - recipient use-cases: create/update and uniqueness constraints E2E smoke coverage with Playwright: - unauthenticated redirect to login - seeded admin login - dashboard load - admin users page - inventory items page - assignments page Also configures: - Vitest - Playwright - PostgreSQL Testcontainers helpers - deterministic E2E admin bootstrap - test artifact ignores Validation: - bun run test: 9 files / 37 tests passed - bun run test:e2e: 3 passed - bunx tsc --noEmit: passed - bunx prisma validate: passed
22 lines
432 B
TypeScript
22 lines
432 B
TypeScript
import { defineConfig } from "vitest/config"
|
|
|
|
export default defineConfig({
|
|
test: {
|
|
environment: "node",
|
|
include: ["tests/**/*.test.ts"],
|
|
watch: false,
|
|
globals: false,
|
|
clearMocks: true,
|
|
restoreMocks: true,
|
|
pool: "forks",
|
|
fileParallelism: false,
|
|
testTimeout: 120_000,
|
|
hookTimeout: 120_000,
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
"@": new URL("./src", import.meta.url).pathname,
|
|
},
|
|
},
|
|
})
|