ad6024f3d9
Phase 1 — Seed Hardening: - Replace all Math.random() calls in seed.ts with a Mulberry32 seeded PRNG (seed 42) so the same data set is reproduced on every run - Replace crypto.randomUUID() with a PRNG-based UUID v4 generator - Add manager (Jordan Lee) and receptionist (Sam Rivera) staff members to seed — previously all staff were groomers - New packages/db/src/reset.ts drops all tables/enums and re-runs migrate + seed; exposed as `pnpm db:reset` at root - Generate migration 0010_impersonation_sessions.sql for the impersonation_sessions and impersonation_audit_logs tables that were already in schema.ts but had no corresponding migration Phase 2 — Test Factories: - New packages/db/src/factories.ts with buildStaff, buildClient, buildPet, buildService, buildAppointment and resetFactoryCounters helpers - Exported via @groombook/db/factories subpath (package.json + vitest alias) - impersonation.test.ts updated to use buildStaff instead of hand-rolled fixture objects Closes #90 (Phases 1 + 2) Co-Authored-By: Paperclip <noreply@paperclip.ing>
22 lines
484 B
TypeScript
22 lines
484 B
TypeScript
import { defineConfig } from "vitest/config";
|
|
import path from "path";
|
|
|
|
export default defineConfig({
|
|
resolve: {
|
|
alias: {
|
|
"@groombook/db/factories": path.resolve(__dirname, "../../packages/db/src/factories.ts"),
|
|
"@groombook/db": path.resolve(__dirname, "../../packages/db/src/index.ts"),
|
|
},
|
|
},
|
|
test: {
|
|
coverage: {
|
|
provider: "v8",
|
|
include: ["src/lib/**"],
|
|
thresholds: {
|
|
lines: 80,
|
|
functions: 80,
|
|
},
|
|
},
|
|
},
|
|
});
|