fix: update E2E tests for plan mode questionnaire and chat history (#2507)
## Summary
- Fix plan_mode questionnaire test to use `getByText` for Base UI Radio
components (hidden inputs can't be clicked with
`getByRole`/`getByLabel`)
- Update chat_history tests for chronological order (oldest first)
- Add `clearChatInput()` and `openChatHistoryMenu()` helpers with
`toPass()` retry logic for reliable Lexical editor interactions
- Add `Timeout.SHORT` constant for quick retries
- Update AGENTS.md with Lexical editor and Base UI Radio testing tips
## Test plan
- [x] `npm run e2e e2e-tests/plan_mode.spec.ts` passes
- [x] `npm run e2e e2e-tests/chat_history.spec.ts` passes
- [x] `npm test` passes
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- devin-review-badge-begin -->
---
<a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2507"
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 -->
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Low Risk**
> Changes are confined to E2E tests, developer docs, and pre-commit
tooling; product/runtime logic is untouched, with minimal risk beyond
potential CI formatting or test expectation drift.
>
> **Overview**
> Stabilizes Playwright E2E coverage around plan mode and chat history
by switching Base UI Radio selection to clicking visible label text and
by adding Lexical-safe input helpers (`clearChatInput`,
`openChatHistoryMenu`) with short `toPass()` retries.
>
> Updates chat history assertions to match **chronological ordering**
(oldest-first) and refreshes related snapshots/docs. Also tightens
pre-commit formatting via `lint-staged` (limits `oxfmt` to a narrower
glob) and simplifies the Husky `pre-commit` hook to only run
`lint-staged`.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
11c4809a66819c53a19042450b5da93ef3f1b29c. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Fixes flaky E2E tests for plan mode and chat history by using reliable
selectors and Lexical-safe helpers. Radios can be selected via visible
labels, and chat history tests now match chronological order.
- **Bug Fixes**
- Plan mode: select Base UI Radio by clicking label text with getByText.
- Chat history: update tests for oldest-first order and default
selection behavior.
- Helpers and docs: add clearChatInput/openChatHistoryMenu with toPass
retries and Timeout.SHORT; update AGENTS.md with Lexical and Base UI
tips.
- Pre-commit: remove YAML from oxfmt to fix hook failures.
<sup>Written for commit b03d72d2605d98201e7d68231ac381ffb7d64f63.
Summary will update on new commits.</sup>
<!-- End of auto-generated description by cubic. -->
---------
Co-authored-by:
Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by:
github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
正在显示
请
注册
或者
登录
后发表评论