fix(prøver): kontrollen venter på gemningen, ikke på et tal
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 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
8a6329bfc9
commit
5764271579
+10
-2
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user