Assessor_2.0/tests/postgres/ai-overview-schema.test.ts

14 lines
758 B
TypeScript

import { describe, expect, it } from 'vitest';
import { databaseMigrations } from '../../server/postgres/migration-catalog';
describe('PostgreSQL AI overview migration', () => {
it('registers append-only run migration 024 with active-scope and idempotency guards', () => {
const migration = databaseMigrations.find(item => item.version === '024');
expect(migration).toMatchObject({ version: '024', name: 'ai-overview-runs' });
expect(migration?.sql).toContain('assessor_ai_overview_runs');
expect(migration?.sql).toContain('assessor_ai_overview_runs_idempotency_uq');
expect(migration?.sql).toMatch(/UNIQUE INDEX[\s\S]*WHERE run_status IN \('queued', 'running'\)/);
expect(migration?.sql).toContain('ON DELETE CASCADE');
});
});