Personalnummer im gedruckten Organigramm, wahlweise
All checks were successful
CI / Lint, Typen, Tests, Build (push) Successful in 11m23s
CI / Migrationen auf leerer Datenbank (push) Successful in 10m13s

Von Max gewuenscht, ausdruecklich mit Auswahl oben. Ein Haekchen in "Was soll
aufs Papier?" stellt die Nummer hinter den Namen -- nicht in eine eigene Zeile:
auf einem Blatt mit zweihundert Kaesten kostet jede zusaetzliche Zeile
Massstab, und der entscheidet darueber, ob das Blatt noch lesbar ist.

Angeboten auf jeder Tiefe, nicht nur bei "mit Personen". Die Leitung einer
Einheit steht auch auf den Blaettern, die sonst keine Namen fuehren; ein
Haekchen, das dort fehlte, saehe aus, als gaebe es dort keine Namen.

Als Kontext statt als Eigenschaft durch den Baum: die Angabe betrifft eine
einzige Zeile ganz unten, muesste aber sonst durch vier Signaturen der
Seitenerzeugung durchgereicht werden. Und die Kennung der Messung traegt den
Schalter mit -- die Zeilen werden breiter, also muss der Massstab neu gemessen
werden, sonst liefe das Blatt ueber den Rand.
This commit is contained in:
2026-09-29 21:03:50 +02:00
parent 0039ce5069
commit d9966c9623
2 changed files with 65 additions and 2 deletions

View File

@@ -103,6 +103,34 @@ describe("PrintChart — Messung", () => {
});
});
// Von Max gewünscht (30.09.), ausdrücklich zum An- und Abwählen. Die Nummer
// steht hinter dem Namen und nicht in einer eigenen Zeile: auf einem Blatt mit
// zweihundert Kästen kostet jede Zeile Massstab.
describe("PrintChart — Personalnummer", () => {
/** Die Zeile, in der eine Person steht — nicht die Kopfzeile ihrer Einheit. */
function personZeile(nachname: string): string {
return screen.getAllByText(new RegExp(nachname))[0].closest("p")!.textContent ?? "";
}
it("druckt sie erst, wenn sie angehakt ist", async () => {
const user = userEvent.setup();
renderChart();
await zurVorschau(user);
// Wiesinger führt die Gesellschaft und steht damit auf jedem Blatt.
expect(personZeile("Wiesinger")).not.toContain("· 1");
});
it("stellt sie hinter den Namen, sobald sie angehakt ist", async () => {
const user = userEvent.setup();
renderChart();
await user.click(screen.getByLabelText(/Personalnummer/));
await zurVorschau(user);
// Die Leitung steht auch auf Blättern ohne Namensliste — deshalb ist das
// Häkchen auf jeder Tiefe zu haben.
expect(personZeile("Wiesinger")).toContain("· 1");
});
});
describe("PrintChart", () => {
it("fragt zuerst, was gedruckt wird, und zeigt vorher kein Blatt", () => {
renderChart();