Visitenbuch/tests/helpers/reset-db.ts
2024-05-14 00:40:10 +02:00

66 lines
2 KiB
TypeScript

import { prisma } from "$lib/server/prisma";
import {
CATEGORIES, ROOMS, STATIONS, USERS,
} from "./testdata";
/** Reset database and create basic test data for integration tests */
export default async () => {
await prisma.$transaction([
prisma.savedFilter.deleteMany(),
prisma.entryExecution.deleteMany(),
prisma.entryVersion.deleteMany(),
prisma.entry.deleteMany(),
prisma.patient.deleteMany(),
prisma.room.deleteMany(),
prisma.station.deleteMany(),
prisma.category.deleteMany(),
prisma.user.deleteMany(),
prisma.user.createMany({ data: USERS }),
prisma.category.createMany({ data: CATEGORIES }),
prisma.station.createMany({ data: STATIONS }),
prisma.room.createMany({
data: ROOMS.map((v) => {
return { id: v.id, name: v.name, station_id: v.station.id };
}),
}),
prisma.patient.createMany({
data: [
{
id: 1,
first_name: "Andreas",
last_name: "Bergmann",
age: 22,
room_id: 1,
},
{
id: 2,
first_name: "Manuela",
last_name: "Kortig",
age: 41,
room_id: 2,
},
{
id: 3,
first_name: "Markus",
last_name: "Schuster",
age: 50,
room_id: 3,
},
],
}),
prisma.$executeRaw`alter sequence users_id_seq restart with 3`,
prisma.$executeRawUnsafe(
`alter sequence categories_id_seq restart with ${CATEGORIES.length + 1}`,
),
prisma.$executeRawUnsafe(
`alter sequence stations_id_seq restart with ${STATIONS.length + 1}`,
),
prisma.$executeRawUnsafe(`alter sequence rooms_id_seq restart with ${ROOMS.length + 1}`),
prisma.$executeRawUnsafe("alter sequence patients_id_seq restart with 4"),
prisma.$executeRawUnsafe("alter sequence entry_executions_id_seq restart with 1"),
prisma.$executeRawUnsafe("alter sequence entry_versions_id_seq restart with 1"),
prisma.$executeRawUnsafe("alter sequence entries_id_seq restart with 1"),
]);
};