fix(e2e): await the decide POST before leaving the werkbak page (refs #13)
All checks were successful
CI / lint (pull_request) Successful in 1m13s
CI / build (pull_request) Successful in 54s
CI / unit (pull_request) Successful in 1m4s
CI / frontend (pull_request) Successful in 2m31s
CI / mutation (pull_request) Successful in 4m57s
CI / verify-stack (pull_request) Successful in 6m55s
All checks were successful
CI / lint (pull_request) Successful in 1m13s
CI / build (pull_request) Successful in 54s
CI / unit (pull_request) Successful in 1m4s
CI / frontend (pull_request) Successful in 2m31s
CI / mutation (pull_request) Successful in 4m57s
CI / verify-stack (pull_request) Successful in 6m55s
The happy path clicked Goedkeuren and immediately navigated to the openbaar register, which
cancelled the in-flight POST /behandel/registrations/{id}/decide (nginx 499) — the decision
never reached the domain, so the registration stayed INGEDIEND and the final INGESCHREVEN
assertion failed. Wait for the decide response (204) before navigating away.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -66,7 +66,16 @@ test('DigiD submit → public INGEDIEND → behandelaar goedkeurt → public ING
|
|||||||
}, { timeout: 30_000, intervals: [1_000, 2_000, 3_000, 5_000] })
|
}, { timeout: 30_000, intervals: [1_000, 2_000, 3_000, 5_000] })
|
||||||
.toBeGreaterThan(0);
|
.toBeGreaterThan(0);
|
||||||
|
|
||||||
|
// Click and wait for the decide POST to finish (204) BEFORE leaving the page. `click()` only
|
||||||
|
// dispatches the request; navigating away immediately cancels it in flight (nginx logs a 499) and
|
||||||
|
// the decision never reaches the domain — so the registration would stay INGEDIEND.
|
||||||
|
const decided = page.waitForResponse(
|
||||||
|
(r) =>
|
||||||
|
r.url().includes(`/behandel/registrations/${reference}/decide`) &&
|
||||||
|
r.request().method() === 'POST',
|
||||||
|
);
|
||||||
await goedkeuren.click();
|
await goedkeuren.click();
|
||||||
|
expect((await decided).status()).toBe(204);
|
||||||
|
|
||||||
// The approval flows back to the projection; back on the openbaar register *our* row (matched by
|
// The approval flows back to the projection; back on the openbaar register *our* row (matched by
|
||||||
// its reference) now shows INGESCHREVEN.
|
// its reference) now shows INGESCHREVEN.
|
||||||
|
|||||||
Reference in New Issue
Block a user