test: Phase 5 verification scripts and opt-in e2e integration spec
Adds scripts to seed scenario data, create Proclamations, snapshot schedules, drive the Kiosk-facing HTTP endpoints, and an opt-in (P5_INTEGRATION=1) Vitest spec exercising create/type/copy against a scratch database. The integration spec is skipped by default so the normal suite needs no DB.
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
import 'dotenv/config';
|
||||
import pg from 'pg';
|
||||
import { PrismaPg } from '@prisma/adapter-pg';
|
||||
import { PrismaClient } from '../src/lib/generated/prisma/client';
|
||||
const pool = new pg.Pool({ connectionString: process.env.DATABASE_URL });
|
||||
const prisma = new PrismaClient({ adapter: new PrismaPg(pool) });
|
||||
const schedules = await prisma.schedule.findMany({ include: { blocks: true } });
|
||||
const keys = await prisma.licenseKey.findMany({ select: { key: true, systemName: true } });
|
||||
console.log(
|
||||
JSON.stringify({
|
||||
scheduleCount: schedules.length,
|
||||
blockCount: schedules.reduce((n, s) => n + s.blocks.length, 0),
|
||||
types: schedules.map((s) => s.type),
|
||||
names: keys
|
||||
.filter((k) => k.systemName)
|
||||
.map((k) => k.systemName)
|
||||
.sort()
|
||||
})
|
||||
);
|
||||
await prisma.$disconnect();
|
||||
await pool.end();
|
||||
Reference in New Issue
Block a user