Skip to content

e2e: Add workspace specs, part 1 of 2 - #29

Open
SCcagg5 wants to merge 4 commits into
stack/28-e1from
stack/29-e2
Open

SCcagg5 wants to merge 4 commits into
stack/28-e1from
stack/29-e2

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 29/31. Base branch: stack/28-e1. Review and merge in order; this PR builds on the previous one.
Size: 9 files changed, 4060 insertions(+).
Checked: Typecheck of the e2e specs. The specs need the full stack: they run green on the merged branch.

Summary

This PR adds nine Playwright specs under ui/e2e/workspace/. They cover the node view, the layout, keyboard use, deep links, legacy links, manual actions, pop-out logs, the continuous tab, and the absence of Mermaid code on the workspace page.

Why

The workspace replaces several pages and keeps old links working. The behavior needs browser tests. This PR builds on the helpers of PR 28. PR 30 adds the second half of the specs.

Changes

  • ndv.spec.ts: node view on double-click, outputs of a run, declared outputs of a step that never ran, the whole-file YAML panel, typed step YAML kept across the form with undo.
  • layout.spec.ts: page and canvas size at 1280x800, Start and Save slots stay in place, toolbar pinned at five widths, node view docked at 1280px and 900px.
  • keyboard.spec.ts: run a step and read its log without the mouse; the node view keeps its keys after Run step.
  • deeplinks.spec.ts, legacy-links.spec.ts: each workflow tab path opens its zone or panel, /spec, /status?dagRunId, /history and /executions redirect to the workspace.
  • manual-actions.spec.ts: approve, push back with feedback, and send a human task back.
  • popout.spec.ts: step log page, ZIP download of /dagRun-log, sub-run log with breadcrumb.
  • continuous.spec.ts: the Continuous tab and its empty state; no tab for a run without a continuous step.
  • no-mermaid.spec.ts: the workspace page loads no Mermaid code; a Wiki page with a Mermaid block does.

How to review

  1. Read ndv.spec.ts, the largest file.
  2. Read layout.spec.ts and the size assertions.
  3. Read deeplinks.spec.ts and legacy-links.spec.ts together.
  4. Skim the rest.

Pay most attention to these places:

  • Layout tests assert pixel sizes at fixed viewports. Check that they do not depend on fonts or timing.
  • Redirect tests must keep the old ?yaml and ?run parameters correct.

Tests

This PR is test code: continuous.spec.ts, deeplinks.spec.ts, keyboard.spec.ts, layout.spec.ts, legacy-links.spec.ts, manual-actions.spec.ts, ndv.spec.ts, no-mermaid.spec.ts, popout.spec.ts, all in ui/e2e/workspace/.

Screenshots

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

Step view
Continuous tab

This was referenced Oct 28, 2026
@yohamta0
yohamta0 force-pushed the stack/29-e2 branch 4 times, most recently from ae9d543 to a6d74ac Compare October 29, 2026 12:58
@yohamta0
yohamta0 force-pushed the stack/29-e2 branch 2 times, most recently from c9711fc to 2207936 Compare October 30, 2026 06:44
@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/29-e2 branch 2 times, most recently from fadf323 to 683ce6b Compare October 30, 2026 11:03
@yohamta0
yohamta0 force-pushed the stack/29-e2 branch 2 times, most recently from 568c0b3 to e01e542 Compare October 31, 2026 05:37
@yohamta0
yohamta0 force-pushed the stack/28-e1 branch 2 times, most recently from 85b0ca6 to e7f5026 Compare October 31, 2026 06:28
SCcagg5 and others added 4 commits October 31, 2026 19:47
…loud#3408)

* e2e: shared helpers, fixtures and updated specs
* Split the e2e disk-conflict test by branch
* Fail e2e teardown when a DAG is not deleted
The workspace specs checked that mode tabs, the add-step FAB and the
YAML read-only chip are absent, but no component renders those test
ids, so the checks could never fail. They are removed; the positive
checks beside them cover the behavior.

The focus-restore check after closing the node view now retries, since
focus can return to the canvas a frame after the view hides. Button
locators in the layout spec match exact names, so a longer label such
as "Test run, not kept. Back to latest" cannot satisfy them. The
continuous empty state is matched in full.

adminToken and expectAt were copied into several specs; the workspace
fixtures module now exports one of each.
The keyboard tests checked only that the run count grew, so the page
could stay on the earlier run and still pass. They now check that ?run
names the new run. The /executions redirect test read the URL once
after Back, which could pass while a pushed redirect bounced back to
the workflow. It now expects Back to return to the page that was open
before the legacy link.
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