From 287511c9b1320a2a8a464531c2a5f4e02cd259bf Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Thu, 22 Jan 2026 07:33:17 -0600 Subject: [PATCH] test(app): terminal smoke test --- packages/app/e2e/terminal-init.spec.ts | 25 +++++++++++++++++++++++++ specs/08-app-e2e-smoke-suite.md | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 packages/app/e2e/terminal-init.spec.ts diff --git a/packages/app/e2e/terminal-init.spec.ts b/packages/app/e2e/terminal-init.spec.ts new file mode 100644 index 000000000..cfde2d019 --- /dev/null +++ b/packages/app/e2e/terminal-init.spec.ts @@ -0,0 +1,25 @@ +import { test, expect } from "./fixtures" +import { promptSelector, terminalSelector, terminalToggleKey } from "./utils" + +test("smoke terminal mounts and can create a second tab", async ({ page, gotoSession }) => { + await gotoSession() + + const terminals = page.locator(terminalSelector) + const opened = await terminals.first().isVisible() + + if (!opened) { + await page.keyboard.press(terminalToggleKey) + } + + await expect(terminals.first()).toBeVisible() + await expect(terminals.first().locator("textarea")).toHaveCount(1) + await expect(terminals).toHaveCount(1) + + // Ghostty captures a lot of keybinds when focused; move focus back + // to the app shell before triggering `terminal.new`. + await page.locator(promptSelector).click() + await page.keyboard.press("Control+Alt+T") + + await expect(terminals).toHaveCount(2) + await expect(terminals.nth(1).locator("textarea")).toHaveCount(1) +}) diff --git a/specs/08-app-e2e-smoke-suite.md b/specs/08-app-e2e-smoke-suite.md index 60b2f964a..c034399a3 100644 --- a/specs/08-app-e2e-smoke-suite.md +++ b/specs/08-app-e2e-smoke-suite.md @@ -26,7 +26,7 @@ Add 6 smoke tests to `packages/app/e2e/`: - [x] 3. Prompt @mention inserts a file pill token (`packages/app/e2e/prompt-mention.spec.ts`) - [x] 4. Model selection UI works end-to-end (`packages/app/e2e/model-picker.spec.ts`) - [x] 5. File viewer renders real file content (`packages/app/e2e/file-viewer.spec.ts`) -- [ ] 8. Terminal init + create new terminal +- [x] 8. Terminal init + create new terminal (`packages/app/e2e/terminal-init.spec.ts`) ---