Files
deepseek-harness/apps/web/tests/snapshots/lifecycle-chrome/hero.expected.md
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

790 B

  • button "Collapse sidebar":
    • img
  • button "New session":
    • img
    • text: New Session
  • text: Workspaces
  • button "Group by":
    • img
  • button "Create workspace":
    • img
  • button "Search sessions":
    • img
  • textbox "Search name, keywords..."
  • tree "Sessions": No sessions yet
  • button "Settings":
    • img
    • text: Settings
  • text: Let's start building
  • button "Choose workspace":
    • img
    • text: workspace
    • img
  • textbox "Describe what you want to build"
  • button "Add attachment":
    • img
  • combobox "Plan mode":
    • option "Plan" [selected]
    • option "Agent"
  • combobox "Access mode":
    • option "Read-only" [selected]
    • option "Read-write"
  • combobox "Model":
    • option "DeepSeek-V4-Pro High" [selected]
    • option "DeepSeek-V4-Pro"
  • button "Send message" [disabled]