Comfy-Org / Comfy-Org/ComfyUI_frontend
feat: add devtools extension support for multi-output job simulation to enable Playwright E2E testing
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 704
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 512
Description
## Summary
The [WidgetSelectDropdown multi-output fix (PR #10131)](https://github.com/Comfy-Org/ComfyUI_frontend/pull/10131) could not include an E2E Playwright test because the lazy-loading path (triggered when `outputs_count > 1`) requires a running backend that actually produces multiple outputs from a single job.
## Requested Change
Add support in the devtools extension (or a Playwright test fixture/helper) that allows E2E tests to:
1. **Inject mock job responses** — stub `getJobDetail` responses with synthetic multi-output payloads so Playwright tests don't need a live backend.
2. **Simulate multi-output jobs** — provide a way to mount or drive the `WidgetSelectDropdown` component in a browser context with controllable `outputs_count` and full output asset lists.
3. **Assert dropdown expansion** — verify that the Outputs tab in FormDropdown shows one item per output (not just the single `preview_output` returned by `/jobs`).
## Motivation
Without this, the lazy-resolution + caching logic in `WidgetSelectDropdown.vue` (`resolvedByJobId`, `pendingJobIds`, `resolveOutputAssetItems`) is only covered by unit tests. Playwright coverage would catch regressions in the full interactive flow (dropdown open → fetch → expand → display).
## References
- PR: https://github.com/Comfy-Org/ComfyUI_frontend/pull/10131
- Comment: https://github.com/Comfy-Org/ComfyUI_frontend/pull/10131#issuecomment-2736455869
- Requested by: @DrJKL
┆Issue is synchronized with this [Notion page](https://www.notion.so/Issue-10381-feat-add-devtools-extension-support-for-multi-output-job-simulation-to-enable-Playwr-32a6d73d36508185bb66d412df8e33a8) by [Unito](https://www.unito.io)
Contributor guide
Assessment
This issue has not been assessed yet.