Skip to content

(test): cover terminals, restore, triggers and the sidebar with e2e journeys #438

Description

@devsuitup

e2e is now a required check (#304, #432), but its five journeys cover only the file panel and the Changes tab. A regression elsewhere is seen only by jsdom tests, which have no layout and no real IPC.

Add four coarse journeys on the critical paths, with the same rules as docs/e2e.md (isolated HOME/data/triggers dir, plain terminals and fixture repos, never a real claude, structure and geometry assertions, no waitForTimeout):

  1. A plain terminal starts, prints output that reaches the xterm screen, accepts input, and closes (pty spawn, renderer flush, exit handling).
  2. Session restore: open two plain terminals, relaunch the app on the same data dir, both come back in the sidebar and the grid.
  3. Trigger watcher end to end: a trigger file in the isolated triggers dir types a command into a plain terminal; its output appears and the result file reports it sent.
  4. Sidebar and grid render fixture sessions (synthetic JSONL transcripts under the isolated ~/.claude/projects): projects grouped, counts right, grid toggle switches layout.

Also write the rule into docs/e2e.md: a bug that only shows in the running app gets a journey in its fix PR, and that journey is its red-first test.

Acceptance: each journey goes red under a mutation of the path it covers (listed in the PR); the job stays under one minute on ubuntu; ten consecutive green runs before merge.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions