Skip to content

feat: add comprehensive E2E test suite for desktop app#853

Open
aj47 wants to merge 1 commit into
mainfrom
feature/e2e-test-suite
Open

feat: add comprehensive E2E test suite for desktop app#853
aj47 wants to merge 1 commit into
mainfrom
feature/e2e-test-suite

Conversation

@aj47

@aj47 aj47 commented Jan 2, 2026

Copy link
Copy Markdown
Owner

Add ~370 tests across 16 test suites using Electron MCP/CDP approach:

  • Core: app lifecycle, navigation, IPC procedures
  • Sessions: agent sessions, session lifecycle
  • MCP: tool discovery, server status, elicitation/sampling
  • UI: components, settings pages
  • Features: conversations, message queue, profiles
  • Quality: error handling, performance, integration workflows

Tests execute via electron_execute MCP tool with direct renderer access.

🤖 Generated with Claude Code

Add ~370 tests across 16 test suites using Electron MCP/CDP approach:

- Core: app lifecycle, navigation, IPC procedures
- Sessions: agent sessions, session lifecycle
- MCP: tool discovery, server status, elicitation/sampling
- UI: components, settings pages
- Features: conversations, message queue, profiles
- Quality: error handling, performance, integration workflows

Tests execute via electron_execute MCP tool with direct renderer access.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@augmentcode

augmentcode Bot commented Jan 2, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Adds a large end-to-end test suite for the SpeakMCP Electron desktop app, executed via the electron-native MCP server using Chrome DevTools Protocol (CDP).

Changes:

  • Introduces a new apps/desktop/e2e-tests/ directory with ~370 tests across 16 suites (core, sessions, MCP, UI, features, error handling, performance, and integration workflows).
  • Adds a lightweight in-renderer test framework (utils/test-framework.ts) with assertions and helper utilities (DOM, navigation, IPC invoke).
  • Adds suite aggregation and exports (index.ts) plus a code generator/runner (run-tests.ts) to produce electron_execute-ready scripts.
  • Documents usage and suite coverage via README.md and IMPLEMENTATION_STATUS.md.

Technical Notes: Tests run directly in the renderer process and validate functionality primarily through window.electron.ipcRenderer.invoke() calls and DOM inspection, with suite runners evaluating test snippets dynamically.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

export function generateQuickTest(testCode: string): string {
return `
(async () => {
${assertionsCode}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

assertionsCode/helpersCode are pre-escaped for inclusion inside a template literal (they contain sequences like \\\`` / \${...}), but generateQuickTest()inlines them directly into executable JS here. That likely produces invalid JS (stray` before template literals) and would also make the README’s generateQuickTest example fail at runtime.

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant