diff --git a/server/pruef-zuteilung.mjs b/server/pruef-zuteilung.mjs index 69cb11f7..85293699 100644 --- a/server/pruef-zuteilung.mjs +++ b/server/pruef-zuteilung.mjs @@ -631,21 +631,63 @@ melde("\n=== Am echten Bildschirm ==="); [...document.querySelectorAll(".karte[data-id]")].filter((k) => !k.hidden).length); ok(zurueck === vorher, `und noch einmal zeigt wieder alle (${zurueck})`); - /* DIE MEHRFACHAUSWAHL IM FORMULAR. */ - await pChef.seite.click("#neu-oeffnen"); - await pChef.seite.waitForTimeout(500); - const mehr = await pChef.seite.evaluate(() => { - const k = document.getElementById("feld-mehrere"); - const auf = document.getElementById("mehrere-auf"); - if (!k || k.hidden || !auf) return { da: false }; - auf.click(); - const leute = [...document.querySelectorAll("#mehrere-leute input[type=checkbox]")]; - const artVorher = document.getElementById("mehrere-art").hidden; - leute.slice(0, 2).forEach((x) => { x.checked = true; x.dispatchEvent(new Event("change")); }); - return { da: true, zahl: leute.length, artVorher, - artNachher: document.getElementById("mehrere-art").hidden }; + /* ==== DIE MEHRFACHAUSWAHL -- SIE IST UMGEZOGEN (berichtigt 23.09.2026) + + Hier stand `await seite.click("#neu-oeffnen")` auf der + Aufgabenseite. Dieser Knopf ist fuer DogFather seit dem + 22.09.2026 VERBORGEN, und zwar mit Absicht: + + Filipe: "dieser button kann da jetzt doch endlich + verschwinden, auf dieser seite sollen ja keine aufgaben mehr + verteilt werden." + + Verteilt wird seither auf der Entwicklungsseite. Die Pruefung + ist deshalb seit einem Tag mit einer Zeitueberschreitung + ABGESTUERZT -- 30 Sekunden Warten auf einen Knopf, den es dort + nicht mehr geben soll -- und hat dabei auch alles danach nicht + mehr geprueft. + + DAS IST DIE DRITTE SORTE FEHLER aus den Hausregeln: kein + uebersprungener Test und kein gruener, der das Falsche prueft, + sondern einer, der seine Voraussetzung verloren hat. Er sah aus + wie ein Befund am Programm und war einer an der Pruefung. + + Sie folgt der Faehigkeit jetzt dorthin, wo sie lebt. Gemessen + wird dasselbe wie vorher: Stehen Leute zur Auswahl, und + erscheint die Frage "wie soll das laufen" erst, wenn es + wirklich mehrere sind? + + UND DASS DER KNOPF DORT WEG IST, WIRD MITGEPRUEFT -- sonst + koennte er stillschweigend zurueckkommen, und Filipes Ansage + waere wieder rueckgaengig, ohne dass es jemand merkt. */ + const knopfWeg = await pChef.seite.evaluate(() => { + const k = document.getElementById("neu-oeffnen"); + return !k || k.hidden; }); - ok(mehr.da, "DogFather kann mehrere dazunehmen"); + ok(knopfWeg, + "auf der Aufgabenseite legt DogFather nichts mehr an — so gewollt seit dem 22.09."); + + await pChef.seite.goto(`${SEITE}/workspace/entwicklung.html`, { waitUntil: "networkidle" }); + await pChef.seite.waitForTimeout(1500); + /* ERST DAS FORMULAR AUFMACHEN. Es startet zugeklappt -- die Liste + der Leute wird beim Aufklappen gebaut (fuerLeuteBauen laeuft nur, + wenn das Formular offen ist). Ohne diesen Klick maesse die + Pruefung null Kaestchen und meldete einen Fehler, den es nicht + gibt. Genau so ist der erste Anlauf gelaufen. */ + await pChef.seite.click("#verteilen-knopf"); + await pChef.seite.waitForTimeout(900); + const mehr = await pChef.seite.evaluate(() => { + const leute = [...document.querySelectorAll('#e-fuer-leute input[type="checkbox"]')]; + const art = document.getElementById("e-art"); + if (!leute.length || !art) return { da: false, zahl: leute.length }; + const artVorher = art.hidden; + leute.slice(0, 2).forEach((x) => { + x.checked = true; + x.dispatchEvent(new Event("change", { bubbles: true })); + }); + return { da: true, zahl: leute.length, artVorher, artNachher: art.hidden }; + }); + ok(mehr.da, `DogFather kann mehrere dazunehmen (${mehr.zahl} zur Wahl)`); ok(mehr.zahl >= 2, `es stehen Leute zur Auswahl (${mehr.zahl})`); ok(mehr.artVorher === true, "die Frage 'wie soll das laufen' steht erst nicht da");