feat(mitarbeiter): Vorgesetzter auch fuer Personen ohne Verzeichnis (#43)
This commit was merged in pull request #43.
This commit is contained in:
@@ -408,6 +408,36 @@ describe.runIf(datenbankVerfuegbar && ldapDa)("Abgleich gegen das Verzeichnis",
|
||||
expect(await testPrisma.mitarbeiter.count()).toBe(FIXTURE_PERSONEN + 1);
|
||||
});
|
||||
|
||||
it("loescht eine von Hand gesetzte Vorgesetzten-Zuordnung nicht", async () => {
|
||||
// `kberger` traegt im Verzeichnis keinen `manager` — mhuber und jweiss tun
|
||||
// es. Wer die Zuordnung fuer kberger von Hand setzt, pflegt etwas, das das
|
||||
// Verzeichnis nicht fuehrt; also hat es sie auch nicht zu loeschen (#020).
|
||||
const { admin } = await grundbestand();
|
||||
const quelle = await quelleFuerContainer(admin);
|
||||
await abgleichAusfuehren(quelle.id, admin);
|
||||
|
||||
const ohneChef = await testPrisma.mitarbeiter.findFirstOrThrow({ where: { sam: "kberger" } });
|
||||
const vonHand = await testPrisma.mitarbeiter.findFirstOrThrow({ where: { sam: "jweiss" } });
|
||||
expect(ohneChef.vorgesetzterExterneId).toBeNull();
|
||||
expect(ohneChef.vorgesetzterId).toBeNull();
|
||||
await testPrisma.mitarbeiter.update({
|
||||
where: { id: ohneChef.id },
|
||||
data: { vorgesetzterId: vonHand.id },
|
||||
});
|
||||
|
||||
const zweiter = await abgleichAusfuehren(quelle.id, admin);
|
||||
expect(zweiter.status).toBe("ERFOLG");
|
||||
|
||||
const nachher = await testPrisma.mitarbeiter.findFirstOrThrow({ where: { id: ohneChef.id } });
|
||||
expect(nachher.vorgesetzterId).toBe(vonHand.id);
|
||||
|
||||
// Gegenstueck: wo das Verzeichnis einen `manager` fuehrt, bestimmt es — und
|
||||
// zwar in **beiden** Feldern, dem rohen Wert und der Zuordnung.
|
||||
const mitChef = await testPrisma.mitarbeiter.findFirstOrThrow({ where: { sam: "mhuber" } });
|
||||
expect(mitChef.vorgesetzterId).toBe(ohneChef.id);
|
||||
expect(mitChef.vorgesetzterExterneId).toBe(ohneChef.externeId);
|
||||
});
|
||||
|
||||
it("setzt ein per userAccountControl deaktiviertes Konto auf aktiv = false", async () => {
|
||||
const { admin } = await grundbestand();
|
||||
const quelle = await quelleFuerContainer(admin);
|
||||
|
||||
Reference in New Issue
Block a user