deepseek-harness/apps/web/tests
Tianyi Cui cbb5fc7a51 test(web): lifecycle & chrome scenarios — workspace flow, reload recovery, dark mode
One tiny recorded text turn drives three whole-page concerns:

- workspace flow over the real wire: the empty-state hero's first send
  materializes a real Workspace + Session (the jsdom workspace-flow suite
  pins this state machine over the fixture client; this scenario pins it
  through HTTP RPC + SSE + the gateway). Durable proof: the session
  header's cwd is the create-by-name target <workspaceRoot>/workspace.
  Adds the hero waiting-state aria golden.
- reload recovery: collapse the sidebar (persisted dsh.layout.panels),
  page.reload, and the surface comes back whole from persistence alone —
  layout collapsed, selection restored (dsh.sessions.current), the
  recorded turn re-rendered from session.history with zero model calls
  (the drained replay cursor makes any stray request fail loud at close).
- dark mode: no product control flips the theme yet, so the scenario
  drives the ThemeService's entire DOM contract — body[data-ds-dark-theme]
  — and pins the shipped cascade: the alias token flips, a painted surface
  repaints, and removing the attribute restores the light sample exactly.
  TODO(web-theme-gesture) upgrades to a real settings control; no theme
  golden per the lane's scope ruling (aria is color-blind).

Agent Note scenario list extended in both languages; pairing re-recorded.
2026-07-26 06:08:08 +08:00
..
snapshots test(web): lifecycle & chrome scenarios — workspace flow, reload recovery, dark mode 2026-07-26 06:08:08 +08:00
lifecycle-chrome.e2e.ts test(web): lifecycle & chrome scenarios — workspace flow, reload recovery, dark mode 2026-07-26 06:08:08 +08:00
live-interactions.e2e.ts test(web): live-turn interaction scenarios — cancel, error, retry, question composer, steering 2026-07-26 03:36:55 +08:00
navigation-panes.e2e.ts test(web): navigation & panes scenarios over one rich seeded session 2026-07-26 05:15:47 +08:00
question-composer.e2e.ts test(web): live-turn interaction scenarios — cancel, error, retry, question composer, steering 2026-07-26 03:36:55 +08:00
replay-round-trip.e2e.ts test(web): harden replay scaffold lifecycle 2026-07-26 00:33:46 +08:00
scaffold.ts Merge remote-tracking branch 'origin/master' into web-e2e-interactions 2026-07-26 04:10:37 +08:00
seeded-history.e2e.ts Merge remote-tracking branch 'origin/master' into web-e2e-lane 2026-07-25 18:19:22 +08:00
session-title.snapshot.ts test(web): stabilize workspace snapshots 2026-07-25 17:46:05 +08:00
smoke-real.e2e.ts Trim redundant source comments 2026-07-25 13:02:37 +08:00
steering.e2e.ts test(web): live-turn interaction scenarios — cancel, error, retry, question composer, steering 2026-07-26 03:36:55 +08:00
support.ts refactor(web): collapse the shell boot into the AppWebEntry class 2026-07-25 10:23:40 +08:00
workspace-flow.snapshot.ts test(web): stabilize workspace snapshots 2026-07-25 17:46:05 +08:00