feat(mitarbeiter): Vorgesetzter auch fuer Personen ohne Verzeichnis (#43)
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s

This commit was merged in pull request #43.
This commit is contained in:
2026-10-04 15:10:34 +00:00
parent 0fa41b9e08
commit 0060a55387
19 changed files with 683 additions and 49 deletions
+29
View File
@@ -450,6 +450,35 @@ describe.runIf(datenbankVerfuegbar)("Seed gegen die Datenbank", () => {
expect(await testPrisma.tagCodeVergabe.count()).toBe(OFFENE_TAGS.length + 2);
});
it("macht Petra Klein zur Vorgesetzten von Maria Huber", async () => {
// Steht so im Auftrag. Ging vor #020 nicht: eine von Hand angelegte Person
// konnte keinen Vorgesetzten haben.
const eigene = await eigeneOrganisation();
await stammdatenSaeen(testPrisma, eigene.id);
const maria = await testPrisma.mitarbeiter.findFirstOrThrow({
where: { sam: "mhuber" },
include: { vorgesetzter: { select: { anzeigename: true, sam: true } } },
});
expect(maria.vorgesetzter).toEqual({ anzeigename: "Klein, Petra", sam: "pklein" });
});
it("gibt eine im Betrieb entfernte Vorgesetzten-Zuordnung nicht zurueck", async () => {
// Dieselbe Regel wie fuer alles andere im Seed: er legt an, er korrigiert
// nicht.
const eigene = await eigeneOrganisation();
await stammdatenSaeen(testPrisma, eigene.id);
const maria = await testPrisma.mitarbeiter.findFirstOrThrow({ where: { sam: "mhuber" } });
await testPrisma.mitarbeiter.update({
where: { id: maria.id },
data: { vorgesetzterId: null },
});
await stammdatenSaeen(testPrisma, eigene.id);
const nachher = await testPrisma.mitarbeiter.findFirstOrThrow({ where: { id: maria.id } });
expect(nachher.vorgesetzterId).toBeNull();
});
it("legt den Bestand beim zweiten Lauf nicht noch einmal an", async () => {
const eigene = await eigeneOrganisation();
await stammdatenSaeen(testPrisma, eigene.id);