Skip to content

Conversation

@brandonkachen
Copy link
Collaborator

@brandonkachen brandonkachen commented Dec 8, 2025

TODO before merging:

  • remove the integration/e2e tests from test-cli and do them once a day
  • set max attempts back to 3 (from the 1 we are using for testing)

@brandonkachen brandonkachen force-pushed the brandon/e2e-tests branch 12 times, most recently from 7027ebd to 439b6b2 Compare December 10, 2025 19:54
- Ctrl+C exit tests: capture state before/after second Ctrl+C, check if
  exit message appeared or text changed
- --help flag test: use waitForText instead of fixed sleep
- Make /exit and /logout tests more lenient for autocomplete interference
- Add proper finish event assertions to waitForText patterns
- Remove login test that fails due to cached credentials
- stream-chunks: Fix vacuous timeSpread >= 0 assertion, make content assertions unconditional
- concurrent-streams: Replace object identity check with proper content validation
- subagent-streaming: Require subagent events instead of silently skipping assertions
- max-agent-steps: Add finish event assertion and new maxAgentSteps=1 test case
- Fix non-falsifiable assertions in /exit, /logout, Ctrl+C tests
- Verify --agent flag shows agent name in UI
- Verify autocomplete shows actual command names
- Add globalCleanupRan flag to prevent parallel tests killing each other
@brandonkachen brandonkachen marked this pull request as ready for review December 10, 2025 23:01
- Add e2e package with Playwright and tuistory dependencies
- Configure TypeScript and Playwright for e2e tests
- Add comprehensive README with setup instructions
- Add env.ts for GH_TEST_EMAIL, GH_TEST_PASSWORD, GH_TEST_TOTP_SECRET
- Add totp.ts for generating TOTP codes for GitHub 2FA automation
- Add cli-session.ts with tuistory PTY emulation and file-based IPC
- Add oauth-helpers.ts for GitHub OAuth automation with TOTP support
- Add infra.ts for Docker database and web server management
- Add test-context.ts with Playwright test fixtures
- Add login-flow.spec.ts with 4 test cases:
  - First-time user login via GitHub OAuth
  - CLI responsiveness after login
  - /usage command after login
  - Logout and re-login flow
- Add scheduled nightly and on-demand workflow
- Configure GH_TEST_EMAIL, GH_TEST_PASSWORD, GH_TEST_TOTP_SECRET secrets
- Install system dependencies (postgresql-client, lsof)
- Upload Playwright reports and screenshots on failure
- Add auto-login mechanism via CODEBUFF_E2E_NO_BROWSER flag
- Add file-based IPC for login URL coordination (CODEBUFF_E2E_URL_FILE)
- Add getWebsiteUrl() for dynamic URL resolution in tests
- Support process.env override for CB_ENVIRONMENT in getConfigDir()
- Add GH_TEST_EMAIL, GH_TEST_PASSWORD, GH_TEST_TOTP_SECRET
- Add CODEBUFF_E2E_URL_FILE for file-based IPC
- Add e2e to workspace in root package.json
- Update bun.lock with e2e dependencies
- Minor fixes to CLI e2e test utilities
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