b93f5d5bdf
Adds test harness for the suite: - vitest.config.ts: happy-dom env, @/* alias, v8 coverage with 70% thresholds - setup.ts: env vars, global next/headers and next/navigation mocks - tsconfig.json: IDE alias resolution for test/ - __mocks__/prisma.ts: centralised Prisma mock auto-registered via vi.mock - fixtures/users.ts, fixtures/orders.ts: typed test data
82 lines
1.5 KiB
TypeScript
82 lines
1.5 KiB
TypeScript
import { vi } from 'vitest'
|
|
|
|
export const prisma = {
|
|
user: {
|
|
findUnique: vi.fn(),
|
|
findMany: vi.fn(),
|
|
create: vi.fn(),
|
|
update: vi.fn(),
|
|
delete: vi.fn(),
|
|
count: vi.fn(),
|
|
},
|
|
session: {
|
|
create: vi.fn(),
|
|
findUnique: vi.fn(),
|
|
delete: vi.fn(),
|
|
deleteMany: vi.fn(),
|
|
},
|
|
loginAttempt: {
|
|
count: vi.fn(),
|
|
create: vi.fn(),
|
|
deleteMany: vi.fn(),
|
|
},
|
|
order: {
|
|
create: vi.fn(),
|
|
update: vi.fn(),
|
|
findUnique: vi.fn(),
|
|
findMany: vi.fn(),
|
|
count: vi.fn(),
|
|
},
|
|
orderItem: {
|
|
create: vi.fn(),
|
|
findMany: vi.fn(),
|
|
},
|
|
payment: {
|
|
create: vi.fn(),
|
|
update: vi.fn(),
|
|
updateMany: vi.fn(),
|
|
findFirst: vi.fn(),
|
|
findMany: vi.fn(),
|
|
},
|
|
product: {
|
|
findUnique: vi.fn(),
|
|
findMany: vi.fn(),
|
|
create: vi.fn(),
|
|
update: vi.fn(),
|
|
delete: vi.fn(),
|
|
count: vi.fn(),
|
|
},
|
|
productType: {
|
|
findUnique: vi.fn(),
|
|
findMany: vi.fn(),
|
|
create: vi.fn(),
|
|
update: vi.fn(),
|
|
delete: vi.fn(),
|
|
},
|
|
category: {
|
|
findUnique: vi.fn(),
|
|
findMany: vi.fn(),
|
|
create: vi.fn(),
|
|
update: vi.fn(),
|
|
delete: vi.fn(),
|
|
},
|
|
review: {
|
|
findMany: vi.fn(),
|
|
create: vi.fn(),
|
|
update: vi.fn(),
|
|
delete: vi.fn(),
|
|
count: vi.fn(),
|
|
},
|
|
auditLog: {
|
|
create: vi.fn(),
|
|
findMany: vi.fn(),
|
|
},
|
|
siteSettings: {
|
|
findMany: vi.fn(),
|
|
upsert: vi.fn(),
|
|
},
|
|
$transaction: vi.fn((fn: (tx: unknown) => unknown) => fn(prisma)),
|
|
}
|
|
|
|
vi.mock('@/lib/prisma', () => ({ prisma }))
|