• Will Chen's avatar
    fix: update E2E tests for plan mode questionnaire and chat history (#2507) · 2661ba3b
    Will Chen 提交于
    ## 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: 's avatarClaude Opus 4.5 <noreply@anthropic.com>
    Co-authored-by: 's avatargithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    2661ba3b
local_agent_auto.spec.ts_local-agent---auto-model-1.txt 32.5 KB