Skip to content

e2e: Add workspace helpers and fixtures, update existing specs - #28

Open
SCcagg5 wants to merge 4 commits into
stack/27-ui26from
stack/28-e1
Open

SCcagg5 wants to merge 4 commits into
stack/27-ui26from
stack/28-e1

Conversation

@SCcagg5

@SCcagg5 SCcagg5 commented Oct 28, 2026 •

Copy link
Copy Markdown
Owner

Part of a stack of 31 pull requests that depend on each other. They must be reviewed and merged in order: each PR builds on the previous one and its diff only contains its own changes.

All PRs of the stack
# PR
1 specs: Add spec 083 and the samples store
2 ir: Add run state fields for ephemeral runs and reused outputs
3 runtime: Bound continuous steps and carry outputs of selected steps
4 api: Add step samples, events, availability and selected-step runs
5 test(ui): add YAML fixtures for the document model tests
6 ui(lib): add shared UI kit, status helpers and right-panel shell
7 ui(canvas): add canvas engine core, toolbars and editor helpers
8 ui(i18n): add workspace message catalogs, first batch
9 ui(canvas): add canvas Flow view, step run panel and workflow panel
10 ui(editor): add YAML document model, canvas model and run source logic
11 ui(editor): Add edit session, YAML format and quick fixes, run actions, tab strip
12 ui(editor): Add canvas graph model, Add step panel, issues popover, run bar
13 ui(canvas): Add layered layout, dependency edges, status styles, reference picker
14 ui(canvas): Add export, flow builder, upstream data panel, output capture
15 ui(canvas): Add node cards, launchers, inspector sections, client issues
16 ui(editor): Add visual editor, step inspector and YAML file panel
17 ui(lists): Open runs on the workflow page; add tab and schedule helpers
18 ui(workspace): Add workspace URL state, legacy redirects and run list links
19 ui(workspace): Add workspace data layer, run facts and Workflow panel
20 ui(workspace): Add run start controls, visible runs and reuse source
21 ui(workspace): Add data provider, bar identity, continuous panel and step list
22 ui(logs): Add run actions cluster, cached logs and log popout page
23 ui(workspace): Add Activity dock, step run view and workflow page
24 test(workspace): Add integration tests for the workspace shell and step view
25 ui(pages): Retire classic run pages and open runs on the workflow page
26 test(editor): Add integration tests for the editor, inspector and run overlay
27 test(ui): Add repository-wide guard tests and ESLint boundary rules
28 e2e: Add workspace helpers and fixtures, update existing specs
29 e2e: Add workspace specs, part 1 of 2
30 e2e: Add workspace specs, part 2 of 2
31 examples: Add the workspace demo workflows

Stack 28/31. Base branch: stack/27-ui26. Review and merge in order; this PR builds on the previous one.
Size: 15 files changed, 1062 insertions(+), 375 deletions(-).
Checked: Typecheck of the e2e specs. The specs need the full stack: they run green on the merged branch.

Summary

This PR adds shared Playwright helpers and fixtures for the workspace page. It updates the existing e2e specs to follow the one-page workflow workspace, and adds specs for the visual editor and for opening a workflow from the list.

Why

The UI PRs before this one replace the old split pages with one workspace. The old specs target pages that no longer exist. PR 29 and PR 30 add the workspace specs and use the helpers from here.

Changes

  • Helpers (ui/e2e/helpers/e2e.ts)
    • UserRole, writeLocalDAG, writeRemoteDAG, enqueueRunFromUI, selectRemoteNode, openStepForm, showStepOutput.
  • Workspace fixtures (ui/e2e/workspace/fixtures/index.ts)
    • test extends Playwright with gotoWorkspace, signIn and FixtureDAG. It writes fixture DAGs from ui/e2e/fixtures/dags/.
  • Fixture DAGs: visual-http-jq.yaml, visual-params.yaml, visual-router.yaml.
  • Config: ui/playwright.config.ts adds a workspace-mobile project.
  • Updated specs: artifacts, auth-flows, dag-crud, dag-run-actions, dag-run-history, human-task-push-back, run-page-links. They use the workspace routes and controls.
  • New specs: visual-editor.spec.ts (golden files stay byte-identical, add a step and save, refuse to overwrite a file that changed on disk) and workflow-list-open.spec.ts.

How to review

  1. Read ui/e2e/helpers/e2e.ts.
  2. Read ui/e2e/workspace/fixtures/index.ts and ui/playwright.config.ts.
  3. Read visual-editor.spec.ts.
  4. Skim the updated specs. Most changes are new selectors and routes.

Pay most attention to these places:

  • The golden-file test: it must prove that a save does not rewrite other lines.
  • The stale-file test: it covers the hash check from PR 4.

Tests

This PR is test code. Changed or added specs: ui/e2e/artifacts.spec.ts, auth-flows.spec.ts, dag-crud.spec.ts, dag-run-actions.spec.ts, dag-run-history.spec.ts, human-task-push-back.spec.ts, run-page-links.spec.ts, visual-editor.spec.ts, workflow-list-open.spec.ts.

Screenshots

No visible UI change in this PR.
The specs cover the screens that PR 5 to PR 27 of the stack change.

This was referenced Oct 28, 2026
@yohamta0
yohamta0 force-pushed the stack/28-e1 branch 2 times, most recently from f7f7df5 to a6c82c9 Compare October 29, 2026 10:28
@yohamta0
yohamta0 force-pushed the stack/27-ui26 branch 2 times, most recently from 6f5ffe2 to 24cb68a Compare October 29, 2026 10:50
@yohamta0
yohamta0 force-pushed the stack/28-e1 branch 4 times, most recently from 5da4a3c to 35446dc Compare October 30, 2026 06:44
@yohamta0
yohamta0 force-pushed the stack/27-ui26 branch 2 times, most recently from 96f363d to 6bbfca0 Compare October 30, 2026 08:07
@yohamta0
yohamta0 force-pushed the stack/28-e1 branch 2 times, most recently from 890417e to bf97597 Compare October 30, 2026 08:43
@yohamta0
yohamta0 force-pushed the stack/27-ui26 branch 2 times, most recently from d112f22 to f4d7a13 Compare October 30, 2026 11:03
@yohamta0
yohamta0 force-pushed the stack/28-e1 branch 2 times, most recently from 5cc977e to e5cca90 Compare October 30, 2026 11:47
@yohamta0
yohamta0 force-pushed the stack/28-e1 branch 2 times, most recently from 8d78139 to 85b0ca6 Compare October 31, 2026 05:37
SCcagg5 and others added 4 commits October 31, 2026 19:46
…agucloud#3407)

* UI: visual-editor/doc, src
* Expect a handler duplicate to be refused
* Close gaps in the UI guard tests
* Test renames of scalar targets and trimmed names
* Test big integers and trimmed names on paste
* Tighten UI guard tests and cancel stale CI runs
The conflict test retried saves until either the live update or the
rejected save showed, so a regression in one branch could pass through
the other. One test now waits for the live-update dialog without a
save. The other writes the external change while the save request is
in flight and asserts the server answers 409 and keeps the external
text.

The add-step test now requires the saved file to be the original with
exactly one inserted block. The old in-order line check passed when the
save also added lines to untouched steps.
The visual editor afterEach and the workspace fixtureDAG teardown
ignored the DELETE response, so a failed cleanup left the DAG in the
shared stack with no report. Both now check the status. The fixture
also accepts 404, because the rename and delete tests of the workflow
bar remove the file themselves.
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.

2 participants