• wwwillchen-bot's avatar
    refactor: expose PageObject component page objects publicly (#2582) · dcf06ece
    wwwillchen-bot 提交于
    ## Summary
    - Updated PageObject class to expose component page objects
    (chatActions, previewPanel, codeEditor, etc.) as public properties
    instead of private
    - Updated all e2e spec files to use explicit component access pattern
    (e.g., `po.chatActions.sendPrompt()` instead of `po.sendPrompt()`)
    - Makes the test code more modular and explicit about which component is
    being used
    
    ## Test plan
    - [x] All 784 unit tests pass
    - [x] TypeScript type checking passes
    - [x] Linting passes
    - [ ] E2E tests should be run via CI
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    <!-- devin-review-badge-begin -->
    
    ---
    
    <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2582"
    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 -->
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Refactored the e2e PageObject to expose component objects publicly and
    added delegated helpers (sendPrompt, importApp) for shorter calls. Tests
    now use explicit component access with shorthand for common actions,
    making code clearer and easier to maintain.
    
    - **Refactors**
    - Exposed component objects on PageObject (chatActions, previewPanel,
    codeEditor, modelPicker, settings, navigation, toastNotifications,
    appManagement, securityReview, agentConsent, githubConnector).
    - Added PageObject.sendPrompt() and PageObject.importApp() delegates;
    updated specs to use them for brevity.
    - Removed monolithic wrappers; no functional app changes—test-only
    refactor.
    
    - **Migration**
    - Use component methods directly (e.g.,
    po.previewPanel.selectPreviewMode(), po.settings.recordSettings(),
    po.toastNotifications.waitForToastWithText()).
    - Prefer po.sendPrompt() and po.importApp() for common actions; replace
    old PageObject methods with component or delegate equivalents.
    
    <sup>Written for commit 15cf1998d7f9b06e0fe6e53f8cc36f4f3c42e630.
    Summary will update on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    
    ---------
    Co-authored-by: 's avatarWill Chen <willchen90@gmail.com>
    Co-authored-by: 's avatarClaude Opus 4.5 <noreply@anthropic.com>
    dcf06ece
local_agent_search_replace.spec.ts 741 Bytes