diff --git a/server/pruef-modi-katalog.mjs b/server/pruef-modi-katalog.mjs index f9287d67..0cf47a6b 100644 --- a/server/pruef-modi-katalog.mjs +++ b/server/pruef-modi-katalog.mjs @@ -729,15 +729,34 @@ console.log(""); GEPRUEFT WIRD DESHALB DIE VERBINDUNG: Was die Seite oben sagt, muss der Katalog unten meinen. */ - const ohne = await seite.evaluate(() => ({ - knopf: document.querySelector(".vorlagenbrett__karte .knopf")?.textContent.trim(), - satz: [...document.querySelectorAll("#vorlagenbrett .stufenleiter__hilfe")] - .map((z) => z.textContent.trim()).join(" | "), - hin: !!document.querySelector("#vorlagenbrett .knopf-still"), - reihen: document.querySelectorAll("#vorlagenbrett .stufenleiter").length, - })); - ok(ohne.reihen === 2, - "zwei Auswahlreihen statt drei -- die Person steht oben (" + ohne.reihen + ")"); + const ohne = await seite.evaluate(() => { + const reihe = document.querySelector('#vorlagenbrett [aria-label="Person wählen"]'); + return { + knopf: document.querySelector(".vorlagenbrett__karte .knopf")?.textContent.trim(), + satz: [...document.querySelectorAll("#vorlagenbrett .stufenleiter__hilfe")] + .map((z) => z.textContent.trim()).join(" | "), + hin: !!document.querySelector("#vorlagenbrett .knopf-still"), + reihen: document.querySelectorAll("#vorlagenbrett .stufenleiter").length, + namen: [...(reihe?.querySelectorAll(".stufenleiter__name") || [])] + .map((z) => z.textContent.trim()), + zahlen: [...(reihe?.querySelectorAll(".stufenleiter__zahl") || [])].length, + }; + }); + /* DREI REIHEN: Kategorie, Stufe, Person. + + Hier stand zwischenzeitlich "zwei Auswahlreihen statt drei" -- + weil ich die Personenreihe beim Umzug entfernt hatte. Das war + nicht verlangt; sie ist wieder da. Was sich geaendert hat, ist + nur, WAS sie setzt: dieselbe Person wie die Kacheln oben. + Gemessen wird das ein paar Zeilen weiter unten. */ + ok(ohne.reihen === 3, + "drei Auswahlreihen (Kategorie, Stufe, Person): " + ohne.reihen); + ok(ohne.namen.includes("Marina"), + "der Modi steht zur Auswahl (" + ohne.namen.join(", ") + ")"); + ok(!ohne.namen.includes("Tili") && !ohne.namen.includes("Schulle"), + "ein Creator und eine Managerin nicht — sie arbeiten im anderen Haus"); + ok(ohne.zahlen === ohne.namen.length && ohne.namen.length > 0, + "neben jedem Namen steht, wie viel offen ist (" + ohne.zahlen + ")"); ok(ohne.knopf === "Übernehmen", 'solange niemand gewaehlt ist, heisst der Knopf schlicht "Übernehmen" (' + ohne.knopf + ")"); @@ -747,12 +766,24 @@ console.log(""); weiss, wo sie sind, auch nach dem naechsten Umbau. */ ok(ohne.hin, "mit einem Knopf, der zur Personenwahl fuehrt"); - /* JETZT WIRKLICH WAEHLEN -- ueber die Kachel, so wie ein Mensch. */ + /* JETZT WIRKLICH WAEHLEN -- und zwar IN DER REIHE, nicht an der + Kachel. Genau das ist die Frage seit dem 23.09.2026: Die Reihe + hat keine eigene Auswahl mehr, sie setzt dieselbe Person wie die + Kacheln oben. Ein Tipp hier muss also dort ankommen. */ await seite.evaluate(() => { - [...document.querySelectorAll("#personen .e-person")] - .find((k) => (k.dataset.name || k.textContent).includes("Marina"))?.click(); + const reihe = document.querySelector('#vorlagenbrett [aria-label="Person wählen"]'); + [...(reihe?.querySelectorAll(".stufenleiter__knopf") || [])] + .find((k) => k.textContent.includes("Marina"))?.click(); }); - await seite.waitForTimeout(2400); + await seite.waitForTimeout(2600); + /* DIE KACHEL OBEN MUSS ES WISSEN. Ohne diese Zeile bewiese der + Rest nur, dass der Katalog mit sich selbst einig ist. */ + const obenAn = await seite.evaluate(() => + [...document.querySelectorAll("#personen .e-person")] + .filter((k) => k.getAttribute("aria-pressed") === "true") + .map((k) => k.dataset.name || k.textContent.trim().split("\n")[0])); + ok(obenAn.some((t) => t.includes("Marina")), + "ein Tipp in der Reihe waehlt die Person auch oben (" + (obenAn.join(", ") || "keine") + ")"); const nachWahl = await seite.evaluate(() => { const karten = [...document.querySelectorAll(".vorlagenbrett__karte")]; const frisch = karten.find((k) => k.dataset.schon !== "ja"); diff --git a/workspace/anruf-probe.html b/workspace/anruf-probe.html index dbdec61e..27c53e74 100644 --- a/workspace/anruf-probe.html +++ b/workspace/anruf-probe.html @@ -16,15 +16,15 @@ verdeckt. Gefunden hat es pruef-struktur. Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. --> - - + + - +