test(e2e): give magic-link.spec the 3x timeout its mail retry needs (BUNYIP-452) #442

Merged
nrupard merged 1 commit from test/BUNYIP-452-magic-link-test-slow into main 2026-08-03 18:04:07 +02:00
Owner

BUNYIP-452 (relates BUNYIP-445).

Problem

magic-link.spec.ts requestMagicLink re-requests the magic link once if the first email does not land within 40s, so the mail wait can run up to 2 x 40s = 80s. The test had no test.slow() and ran under the default 60s per-test timeout, so when the first email lagged and the retry fired it blew 60s (BUNYIP-445 staging run: "Test timeout of 60000ms exceeded"). The sibling password-reset.spec.ts has the identical 2 x 40s retry with test.slow() (180s), which is why it passed (41.5s) while magic-link timed out.

Change

Add test.slow() to the magic-link test body (after the env test.skip), mirroring password-reset.spec. No mail-wait change: the 2 x 40s retry already tolerates a slow or dropped first email; the missing piece was the 180s budget.

Verification

  • tsc --noEmit (e2e, strict) passes.
  • Reporter (on-server): a manual e2e.yml run's magic-link spec no longer times out.

🤖 Generated with Claude Code

BUNYIP-452 (relates BUNYIP-445). ## Problem `magic-link.spec.ts` `requestMagicLink` re-requests the magic link once if the first email does not land within 40s, so the mail wait can run up to 2 x 40s = 80s. The test had no `test.slow()` and ran under the default 60s per-test timeout, so when the first email lagged and the retry fired it blew 60s (BUNYIP-445 staging run: "Test timeout of 60000ms exceeded"). The sibling `password-reset.spec.ts` has the identical 2 x 40s retry with `test.slow()` (180s), which is why it passed (41.5s) while magic-link timed out. ## Change Add `test.slow()` to the magic-link test body (after the env `test.skip`), mirroring password-reset.spec. No mail-wait change: the 2 x 40s retry already tolerates a slow or dropped first email; the missing piece was the 180s budget. ## Verification - `tsc --noEmit` (e2e, strict) passes. - Reporter (on-server): a manual e2e.yml run's magic-link spec no longer times out. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
test(e2e): give magic-link.spec the 3x timeout its mail retry needs
All checks were successful
E2E PR gate / Install + reachability (no deployment secrets) (pull_request) Successful in 22s
Check / fmt + clippy + build + tests (pull_request) Successful in 4m38s
Create release / Create release from merged PR (pull_request) Has been skipped
0793d2433e
requestMagicLink re-requests the magic link once if the first email does not land within 40s, so the mail wait can run up to 2x40s = 80s, but the test had no test.slow() and ran under the default 60s per-test timeout. When the first email lagged and the retry fired, the spec blew 60s (BUNYIP-445 staging run: "Test timeout of 60000ms exceeded"). The sibling password-reset.spec has the identical 2x40s retry with test.slow() (180s), which is why it passes while magic-link times out. Add test.slow() to match.

#BUNYIP-452

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
nrupard deleted branch test/BUNYIP-452-magic-link-test-slow 2026-08-03 18:04:08 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/bunyip!442
No description provided.