Alexander Brown
4e00e8428f
refactor: wire helpers into ComfyPage and update test usages
...
Phase 2 of ComfyPage refactor:
- Add ToastHelper, DragDropHelper, CommandHelper instances to ComfyPage
- Remove migrated methods from ComfyPage (command, toast, dragDrop, workflow, canvasOps, nodeOps methods)
- Update all test files to use new helper paths
- Keep visibleToasts as passthrough getter for backward compatibility
Amp-Thread-ID: https://ampcode.com/threads/T-019c1666-ed27-773c-976a-07cc805d7a6c
Co-authored-by: Amp <amp@ampcode.com >
2026-01-31 15:44:57 -08:00
Alexander Brown
ccf459684e
refactor: remove ComfyPage wrapper methods, use helpers directly
...
- Remove 27 deprecated/wrapper methods from ComfyPage
- Migrate callers to use helper classes directly:
- keyboard.selectAll/bypass/undo/redo/moveUp/moveDown
- clipboard.copy/paste
- settings.setSetting/getSetting
- workflow.loadWorkflow/deleteWorkflow/setupWorkflowsDirectory
- contextMenu.clickMenuItem/clickLitegraphMenuItem
- nodeOps.resizeNode with DefaultGraphPositions
- canvasOps.clickEmptySpace with DefaultGraphPositions
- Replace deprecated node click methods with direct canvas clicks
- Replace position getter properties with DefaultGraphPositions imports
Amp-Thread-ID: https://ampcode.com/threads/T-019c15e7-2319-76ec-855e-098ec75ef18a
Co-authored-by: Amp <amp@ampcode.com >
2026-01-31 13:48:43 -08:00
Alexander Brown
82bacb82a7
test: add Playwright test tags for filtering (@smoke, @slow, @screenshot, domains) ( #8441 )
...
## Summary
Adds structured test tags to all 54 Playwright test files to enable
flexible test filtering during development and CI.
## Tags Added
| Tag | Count | Purpose |
|-----|-------|---------|
| `@screenshot` | 32 files | Tests with visual assertions
(`toHaveScreenshot`) |
| `@smoke` | 5 files | Quick essential tests for fast validation |
| `@slow` | 5 files | Long-running tests (templates, subgraph,
featureFlags) |
| `@canvas` | 15 files | Canvas/graph rendering tests |
| `@node` | 10 files | Node behavior tests |
| `@ui` | 8 files | UI component tests |
| `@widget` | 5 files | Widget-specific tests |
| `@workflow` | 3 files | Workflow operations |
| `@subgraph` | 1 file | Subgraph functionality |
| `@keyboard` | 2 files | Keyboard shortcuts |
| `@settings` | 2 files | Settings/preferences |
## Usage Examples
```bash
# Quick validation (~16 tests, ~30s)
pnpm test:browser -- --grep @smoke
# Skip slow tests for faster CI feedback
pnpm test:browser -- --grep-invert @slow
# Skip visual tests (useful for local development without snapshots)
pnpm test:browser -- --grep-invert @screenshot
# Run only canvas-related tests
pnpm test:browser -- --grep @canvas
# Combine filters
pnpm test:browser -- --grep @smoke --grep-invert @screenshot
```
## Implementation Details
- Uses Playwright's native tag syntax: `test.describe('Name', { tag:
'@tag' }, ...)`
- Tags inherit from describe blocks to child tests
- Preserves existing project-level tags: `@mobile`, `@2x`, `@0.5x`
- Multiple tags supported: `{ tag: ['@screenshot', '@smoke'] }`
## Test Plan
- [x] All existing tests pass unchanged
- [x] Tag filtering works with `--grep` and `--grep-invert`
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8441-test-add-Playwright-test-tags-for-filtering-smoke-slow-screenshot-domains-2f76d73d36508184990ec859c8fd7629 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: Amp <amp@ampcode.com >
Co-authored-by: GitHub Action <action@github.com >
2026-01-29 16:34:56 -08:00
Christian Byrne
585d46d4fb
fix: inner groups being moved double when moving outer group (in vue mode) ( #7447 )
...
## Summary
Fixes issue when dragging a group that had inner groups when in vue
mode.
When dragging the outer group in Vue mode:
1. getAllNestedItems(selected) returns ALL items: outer group + inner
groups + nodes
2. moveChildNodesInGroupVueMode loops through all items
3. For outer group G1: calls G1.move(delta, true) then
moveGroupChildren(G1, ...)
4. moveGroupChildren calls G2.move(delta) (no skipChildren) - this moves
G2 AND G2's children!
5. Then the loop reaches G2: calls G2.move(delta, true) - moves G2 again
6. Plus moveGroupChildren(G2, ...) processes G2's children again
This PR fixes it by adding `skipChildren=true` to the `move` call.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-7447-fix-inner-groups-being-moved-double-when-moving-outer-group-in-vue-mode-2c86d73d365081ce97abec682f2a8518 )
by [Unito](https://www.unito.io )
2025-12-14 18:37:29 -08:00
Christian Byrne
89f4452488
[test] fix flaky Vue group/frame test (minimap flakiness) ( #5962 )
...
Attempts to fix flakiness when groups are enabled on the minimap and the
screenshot is taken too early, before the render completes. See
[comment](https://github.com/Comfy-Org/ComfyUI_frontend/pull/5942#issuecomment-3374615335 )
for more context.
May or may not solve the flakiness.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5962-wait-for-frame-on-group-creation-test-2856d73d365081f6a059ebfc5a03857c )
by [Unito](https://www.unito.io )
2025-10-07 15:15:36 -07:00
Christian Byrne
02b3b8ef5b
[test] add browser tests verifying Vue node groups behaviors ( #5825 )
...
## Summary
Adds Playwright tests verifying node groups behaviors work in the Vue
nodes system - in particular:
- Using hotkey to create a group around selected Vue nodes
- Using the "fit to contents" feature on a group that contains Vue nodes
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5825-test-add-browser-tests-verifying-Vue-node-groups-behaviors-27c6d73d365081e1a380ea5c43a861b0 )
by [Unito](https://www.unito.io )
---------
Co-authored-by: github-actions <github-actions@github.com >
2025-09-28 10:49:30 -07:00