Skip to content

test(wework): cover plugin lifecycle in desktop e2e - #2108

Merged
qdaxb merged 2 commits into
mainfrom
test/wework-plugin-e2e
Jul 22, 2026
Merged

qdaxb merged 2 commits into
mainfrom
test/wework-plugin-e2e

Conversation

@qdaxb

@qdaxb qdaxb commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

What changed

  • add a real Tauri desktop E2E scenario for plugin marketplace discovery, installation, chat usage, and uninstallation
  • generate an isolated local Codex marketplace fixture and retain screenshots for each critical stage
  • run the plugin lifecycle scenario in the Wework E2E workflow
  • document the command and CI behavior in Chinese and English

Why

Wework plugin coverage previously stopped at component tests and did not verify the complete native app-server lifecycle. This adds deterministic end-to-end regression coverage without reading the user Codex home or mocking plugin APIs.

Validation

  • pnpm --filter wework e2e:desktop:plugins
  • pre-push ESLint, TypeScript, and unit tests
  • Prettier and ESLint checks for changed files

Summary by CodeRabbit

  • New Features

    • Added a dedicated desktop end-to-end test flow for plugin marketplace discovery, installation, chat usage, and uninstallation.
    • Added a command to run the plugin lifecycle scenario independently.
  • Tests

    • Expanded desktop CI coverage to include the plugin lifecycle scenario.
    • Added screenshot and diagnostic verification throughout the plugin workflow.
  • Documentation

    • Documented the new plugin test command, scenario, and CI execution guidance in English and Chinese.

@coderabbitai

coderabbitai Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 48f892d6-728b-4047-9a63-c0fad9830332

📥 Commits

Reviewing files that changed from the base of the PR and between 19a22de and 4988d65.

📒 Files selected for processing (5)
  • .github/workflows/wework-e2e.yml
  • docs/en/wework/developer-guide/wework-e2e-automation.md
  • docs/zh/wework/developer-guide/wework-e2e-automation.md
  • wework/e2e/desktop/task-flow.e2e.mjs
  • wework/package.json

📝 Walkthrough

Walkthrough

The PR adds a plugins-only desktop E2E mode that creates a local marketplace fixture, verifies plugin discovery through uninstall, exposes a package script, runs the scenario in CI, and documents the workflow in English and Chinese.

Changes

Desktop plugin E2E

Layer / File(s) Summary
Plugin fixture and execution mode
wework/e2e/desktop/task-flow.e2e.mjs, wework/package.json
The runner creates marketplace/plugin files, supports --plugins-only, and exposes e2e:desktop:plugins.
Plugin lifecycle verification
wework/e2e/desktop/task-flow.e2e.mjs
The test verifies marketplace discovery, installation, chat composer insertion, screenshots, uninstallation, and return to the install state.
CI wiring and usage documentation
.github/workflows/wework-e2e.yml, docs/.../wework-e2e-automation.md
CI runs the plugin suite, while English and Chinese guides document its command, scenario, diagnostics, and CI usage.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant TaskFlowRunner
  participant PluginsMarketplace
  participant ChatComposer
  TaskFlowRunner->>PluginsMarketplace: configure local marketplace fixture
  PluginsMarketplace-->>TaskFlowRunner: display plugin row
  TaskFlowRunner->>PluginsMarketplace: install plugin
  PluginsMarketplace-->>TaskFlowRunner: expose chat action
  TaskFlowRunner->>ChatComposer: use plugin in chat
  ChatComposer-->>TaskFlowRunner: show plugin in composer
  TaskFlowRunner->>PluginsMarketplace: uninstall plugin
  PluginsMarketplace-->>TaskFlowRunner: return to install state
Loading

Possibly related PRs

Suggested reviewers: ficohu

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch test/wework-plugin-e2e

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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