Repository navigation
test(e2e): bring nine stale full-suite specs in line with intended product changes - #30897
Conversation
The daily full E2E run on main fails these specs every time because the product moved on and PR CI only runs specs a PR touches: - editor header menu renamed to File actions (#30129) - terminal attention: an on-screen bell leaves no unread marker (#28637) - terminal file drops carry their source host (#26830) - single-choice questions auto-submit (#26288) - phone terminal rows carry customTitle (#30037) - gh/git preflight re-reads the login shell PATH (#25183) - board drag starts after the target column is in view - chat history anchor read after scroll settles
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to
|
|
Main's full E2E run repeatedly failed because several specs still used old controls, expected superseded behavior, or supplied fixtures that no longer reached the intended path. This PR updates nine spec files to test the current intended behavior. Nothing changes in the shipped app. The light-path review completed in one independent adversarial round, followed by the readiness checklist and a dedicated performance and compatibility pass, with no proven PR-caused findings or source fixes. The final merge was checked narrowly against the reviewed commit: all nine spec files and their patches against main are identical to the reviewed versions. The phone baseline now matches main exactly and is no longer part of this PR. The classification remains Background terminal attention remains covered; the deleted Escape test depended on an intentionally removed clearing mechanism. The issue test still checks that the created URL reaches the terminal command. Drag rollback, split-pane ownership, both-pane word wrapping, and the two-pixel scroll-restoration checks remain intact. No new defect was deferred. Verification on
Limits and exclusions: external GitHub creation is stubbed; the question-card E2E checks resolution, while existing unit contracts and source tracing establish the selected-answer payload. This is Linux CI evidence, not live Windows QA. The three known red specs listed in the PR body remain unchanged and were not independently reproduced in this review. No local app or heavy checks were run for this merge verification. For Brennan's review No main/branch screenshots: this is a test-only light-path PR, so Electron QA is exempt. The three judgment points are:
|
…-e2e # Conflicts: # tests/e2e/layout-compat-baselines.json
ELI5
Orca's daily full end-to-end test run on main has failed every day since at least 10-17. The repeat failures include stale expectations and fixture or timing problems. Most of them check behaviour the product changed on purpose: pull requests only run the end-to-end specs they touch, so nobody updated these specs. This PR brings nine of those specs in line with how the app works today.
What Changed
Nothing changes for users. Only tests change, each to match a product change that was made on purpose:
terminal-pane-title-strip-placementalready does.PATH, so emptyingPATHno longer hides git. The test also pointsSHELLat a missing file.ghon the CI runner now comes before the test's fake one, and creating the issue fails. The test now stubs the create-issue handler in the main process, asgithub-project-boardalready does. The test is about getting the issue URL into the Claude launch command, not about callinggh.Why
The goal is to fix each spec at its cause. Every product change above was intended, so the tests follow the product. Where a failure pointed at a real product bug, I didn't paper over it in the test, and it isn't in this PR:
Eight other failing specs are already being repaired in #30115, so this PR leaves them alone.
Plan and review classification
Plan: update only stale test inputs, interactions and expected field inventories after checking their product-history causes; preserve the assertions for the behavior each test owns, and leave genuine product failures outside this PR. Validate the changed specs and the full PR workflow on the same head.
Linked Issue
N/A (maintainer). Main's full E2E runs, for example https://github.com/stablyai/orca/actions/runs/39307965554
Visual Proof
N/A: this changes only test files, so nothing in the app changes.
Testing
The original ten specs ran on this branch through the E2E workflow's
test_filesoption: all 18 tests passed at headd29a8a8bc543bd768fb726be4c358597f986174cin https://github.com/stablyai/orca/actions/runs/39333058522. After merging main, the nine remaining specs are re-running in https://github.com/stablyai/orca/actions/runs/39467113189Coverage limits: issue creation is stubbed to test the returned URL reaching Claude, so this does not validate GitHub authentication or external issue creation. The question-card E2E checks resolution; exact selected-answer delivery is covered by existing unit contracts and was traced in source. The old-phone spec uses current transport with old capabilities; the released Android v0.0.52 reader was separately inspected for acceptance of the added field. This run is Linux evidence, not Windows QA.
Agent skill upstream boundary
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)