Files
scouthub/scouthub-attivita-be/tests/setup/resetDatabase.ts
T

19 lines
658 B
TypeScript

import { prisma } from '../../src/db/prisma';
// Solo le tabelle "transazionali" popolate dai test: le anagrafiche di base
// seedate una volta sola (stato_attivita, tipo_categoria, tipo_paragrafo,
// branca, periodo_anno, categoria, materiale) restano intatte tra un test e l'altro.
const TABLES_TO_RESET = [
'paragrafo',
'branca_attivita',
'categoria_attivita',
'materiale_attivita',
'periodo_anno_attivita',
'attivita',
];
export async function resetDatabase(): Promise<void> {
const tables = TABLES_TO_RESET.map((table) => `"${table}"`).join(', ');
await prisma.$executeRawUnsafe(`TRUNCATE TABLE ${tables} RESTART IDENTITY CASCADE`);
}