feat: add TUI integration tests#549
Open
aidandaly24 wants to merge 2 commits intofeat/tui-harnessfrom
Open
Conversation
The harness is dev-only tooling for AI agents and integration tests. It should not ship to end users who install the CLI. - Gate MCP harness esbuild behind BUILD_HARNESS=1 env var - Remove agent-tui-harness bin entry from package.json - Add !dist/mcp-harness to files array (npm publish exclusion) - Remove node-pty from optionalDependencies (stays in devDependencies) - Add build:harness script, update test:tui to use it - Update AGENTS.md to reference npm run build:harness Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
27 tests across 5 suites verifying the TUI harness against the real AgentCore CLI: harness self-tests, navigation flows, create wizard, add-resource flows, and deploy screen rendering. Tests use describe.skipIf(!isAvailable) to gracefully skip when node-pty is not installed. createMinimalProjectDir provides fast (~10ms) project directory setup without npm install. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3110b1e to
04533ce
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds 27 integration tests across 5 test suites that exercise the TUI harness against the real AgentCore CLI binary. These tests validate that AI agents can reliably drive the TUI through all major user flows.
Test suites:
harness.test.ts(9 tests) — Self-tests forTuiSessionusing simple Unix commands (echo,cat,bash). Validates launch, sendKeys, close, dead-session errors, waitFor success/timeout, LaunchError, concurrent sessions, and numbered readScreen.navigation.test.ts(8 tests) — TUI navigation against the real CLI. HomeScreen rendering, HelpScreen rendering, forward/backward navigation, exit via double-Escape and Ctrl+C.create-flow.test.ts(3 tests) — Full create-project wizard: create with agent (20+ step wizard), create without agent, and back-navigation during wizard.add-flow.test.ts(4 tests) — Add-resource flow: navigate to Add Resource screen, drill into Add Agent wizard, and escape-back at each level.deploy-screen.test.ts(3 tests) — Deploy screen: renders, shows AWS configuration, supports Escape-back. Never actually deploys.Infrastructure:
setup.ts— Vitest global setup checking harness availability and cleaning up orphaned PTY sessionshelpers.ts— Re-exportscreateMinimalProjectDirfrom the harness libraryRelated Issue
Closes #
Documentation PR
N/A — test documentation is in docs/TESTING.md (included in PR #548)
Type of Change
Testing
How have you tested the change?
npm run test:unitandnpm run test:integnpm run typechecknpm run lintsrc/assets/, I rannpm run test:update-snapshotsand committed the updated snapshotsAll 27 tests pass:
npm run test:tui→ 27 passed, 0 failed.Checklist
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the
terms of your choice.