From 57642715793a07f07c5e9f4fb8697beeb106731d Mon Sep 17 00:00:00 2001 From: kristianwind Date: Thu, 8 Oct 2026 20:12:07 +0200 Subject: [PATCH] =?UTF-8?q?fix(pr=C3=B8ver):=20kontrollen=20venter=20p?= =?UTF-8?q?=C3=A5=20gemningen,=20ikke=20p=C3=A5=20et=20tal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fjerde røde End-to-end, fjerde reelle årsag, og denne stod skrevet i forvejen. "en note med indhold stjæler ikke markøren" brugte `waitForTimeout(1200)` til at vente på, at noten blev gemt. På en travl runner var 1200 ms ikke nok: genindlæsningen smed det skrevne væk, og prøven faldt på at noten ikke FANDTES — `waiting for getByRole({ name: /Allerede skrevet/ })` — frem for på markøren, som er det den måler. Kommentaren over `gemt` i toppen af den samme fil siger det ord for ord: En fast ventetid er den samme fejl med et tal foran: `waitForTimeout(1200)` er et gæt om, hvor hurtig maskinen er, og det gæt holder indtil CI er travl. Jeg skrev præcis det kald, med præcis det tal, under en kommentar der navngiver begge. Lektien var ikke ny — den var skrevet ned, i filen, lige over den hjælper der findes for at erstatte det. Bruger nu `noteGemt(page)`, sat op FØR der skrives: svaret på PATCH'en er det eneste, der beviser, at serveren har hørt om det. Kontrolleret i begge retninger med 2500 ms plantet på PATCH /notes/* — mere end dobbelt så længe som det gamle ophold ventede. Det gamle kald fejler med CI's ordlyd; `noteGemt` består. Der står 24 faste ophold tilbage i filen. De er ældre end denne gren, og nogle venter måske på noget uden et netværkskald, så de hører i deres egen rettelse — men mønsteret er nu dokumenteret to gange i samme fil. E2E: 131 bestod, 0 netafbrydelser. Co-Authored-By: Claude Opus 5 --- web/e2e/smoke.spec.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/web/e2e/smoke.spec.js b/web/e2e/smoke.spec.js index 0216da2..7874ef8 100644 --- a/web/e2e/smoke.spec.js +++ b/web/e2e/smoke.spec.js @@ -5753,9 +5753,17 @@ test('en note med indhold stjæler ikke markøren', async ({ page }) => { const trouble = watchForTrouble(page); await page.goto('/noter'); await page.getByRole('button', { name: 'Ny note' }).click(); + + // Lyt FØR der skrives. Her stod `waitForTimeout(1200)`, og kommentaren over + // `gemt` i toppen af filen nævner præcis det tal: et fast ophold er et gæt om, + // hvor hurtig maskinen er, og gættet holder indtil CI er travl. Det holdt indtil + // CI var travl — gemningen var ikke nået, genindlæsningen smed det skrevne væk, + // og prøven faldt på at noten ikke fandtes frem for på markøren, som er det den + // måler. Svaret på PATCH'en er det eneste, der beviser, at serveren har hørt om + // det. + const gemt = noteGemt(page); await page.keyboard.type('Allerede skrevet'); - // Vent til den er gemt, så den er en note med indhold næste gang den åbnes. - await page.waitForTimeout(1200); + await gemt; await page.reload(); await page.getByRole('button', { name: /Allerede skrevet/ }).first().click();