fix: deflake E2E tests (refresh.spec.ts) (#2759)
## Summary
- Fixed flaky `refresh app` test in `refresh.spec.ts` by adding
pre-refresh snapshot verification and post-refresh content wait
- The test was failing ~20% of the time because the iframe body would
remain empty after clicking refresh
- Added `snapshotPreview()` before body removal to ensure initial
content is loaded
- Added `not.toHaveText("")` wait after refresh to ensure content
reloads before snapshotting
## Flaky test analysis
Scanned 1 main branch CI run (with available artifacts) + 9 PR comments
from wwwillchen/wwwillchen-bot. Top flaky spec files by occurrence:
| Spec File | Occurrences | Status |
|:---|:---:|:---|
| setup_flow.spec.ts | 13 | Already fixed (PR #2740) |
| debugging_logs.spec.ts | 6 | Stable (passed 50/50) |
| select_component.spec.ts | 6 | Stable (passed 60/60) |
| setup.spec.ts | 5 | Stable (passed 10/10) |
| switch_versions.spec.ts | 5 | Stable (passed 20/20) |
| **refresh.spec.ts** | **5** | **Fixed in this PR** |
| toggle_screen_sizes.spec.ts | 4 | Stable (passed 30/30) |
| undo.spec.ts | 3 | Stable (passed 30/30) |
## Verification
- `refresh.spec.ts` passed 40/40 runs with `--repeat-each=10` after the
fix (was 38/40 before)
## Test plan
- [x] Verify `refresh.spec.ts` passes consistently with
`--repeat-each=10`
- [x] No application code changes (test-only fix)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- devin-review-badge-begin -->
---
<a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2759"
target="_blank">
<picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1">
<img
src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1"
alt="Open with Devin">
</picture>
</a>
<!-- devin-review-badge-end -->
---------
Co-authored-by:
claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by:
Claude Opus 4.6 <noreply@anthropic.com>
正在显示
请
注册
或者
登录
后发表评论