Phase 10: Mandantenfähigkeit (#15)
This commit was merged in pull request #15.
This commit is contained in:
@@ -288,6 +288,14 @@ const AUFNAHMEN: Aufnahme[] = [
|
||||
beschreibung: "Kassenprüfung mit Differenz und Erläuterung",
|
||||
angemeldet: true,
|
||||
},
|
||||
|
||||
// Phase 10 — Mandantenfähigkeit
|
||||
{
|
||||
name: "50-wehren",
|
||||
pfad: "/wehren",
|
||||
beschreibung: "Wehren dieser Installation, Konten und ihre Zuordnungen",
|
||||
angemeldet: true,
|
||||
},
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -372,6 +380,18 @@ async function fertigGeladen(seite: Page): Promise<void> {
|
||||
.addStyleTag({ content: "nextjs-portal { display: none !important; }" })
|
||||
.catch(() => undefined);
|
||||
|
||||
/**
|
||||
* Erst warten, dass React überhaupt gelaufen ist.
|
||||
*
|
||||
* Ohne diese Pause war die Bedingung unten in einem Fall erfüllt, in dem sie
|
||||
* nichts bedeutet: „keine Ladeanzeige“ trifft auch zu, *bevor* sie erscheint.
|
||||
* Bei einer Route, die der Entwicklungsserver erst übersetzen muss, kam der
|
||||
* Auslöser genau in diesem Moment — und das Bild zeigte eine leere Seite mit
|
||||
* Überschriften.
|
||||
*/
|
||||
await seite.waitForTimeout(1_500);
|
||||
await seite.waitForLoadState("networkidle");
|
||||
|
||||
try {
|
||||
await seite.waitForFunction(() => !document.querySelector(".animate-pulse"), undefined, {
|
||||
timeout: 15_000,
|
||||
|
||||
+16
-3
@@ -53,8 +53,20 @@ async function main(): Promise<void> {
|
||||
);
|
||||
}
|
||||
|
||||
const vorhanden = await prisma.organisation.findUnique({
|
||||
where: { slug: SLUG },
|
||||
/**
|
||||
* Auch die Nachbarwehr aus Phase 10 und das Konto der Kreisebene.
|
||||
*
|
||||
* Beide gehören zur Testwehr, liegen aber nicht in ihr: die Nachbarwehr ist
|
||||
* eine eigene Organisation, das Konto gehört gar keiner. Blieben sie beim
|
||||
* Zurücksetzen stehen, sähe der Seed die Nachbarwehr, hielte alles für
|
||||
* erledigt und legte die Mitgliedschaft in der neuen Testwehr nie wieder an
|
||||
* — der Wehrwähler zeigte danach nur noch die betreute Wehr.
|
||||
*/
|
||||
const NACHBAR_SLUG = `${SLUG}-nachbar`;
|
||||
const KBI_EMAIL = process.env.SEED_KBI_EMAIL ?? `kbi@${SLUG}.de`;
|
||||
|
||||
const vorhanden = await prisma.organisation.findFirst({
|
||||
where: { slug: { in: [SLUG, NACHBAR_SLUG] } },
|
||||
select: { id: true, name: true },
|
||||
});
|
||||
|
||||
@@ -79,7 +91,8 @@ async function main(): Promise<void> {
|
||||
await tx.$executeRawUnsafe(`ALTER TABLE "${tabelle}" DISABLE TRIGGER USER`);
|
||||
}
|
||||
|
||||
await tx.organisation.delete({ where: { slug: SLUG } });
|
||||
await tx.organisation.deleteMany({ where: { slug: { in: [SLUG, NACHBAR_SLUG] } } });
|
||||
await tx.benutzer.deleteMany({ where: { email: KBI_EMAIL } });
|
||||
|
||||
for (const tabelle of [
|
||||
"druckmessung",
|
||||
|
||||
Reference in New Issue
Block a user