From 710dc4fa94c8023fbbead371b3bd1ba4764ed398 Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Thu, 22 Jan 2026 06:30:16 -0600 Subject: [PATCH] test(app): @ attachment smoke test --- packages/app/e2e/prompt-mention.spec.ts | 21 +++++++++++++++++++++ specs/08-app-e2e-smoke-suite.md | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 packages/app/e2e/prompt-mention.spec.ts diff --git a/packages/app/e2e/prompt-mention.spec.ts b/packages/app/e2e/prompt-mention.spec.ts new file mode 100644 index 0000000000..d71dc0b495 --- /dev/null +++ b/packages/app/e2e/prompt-mention.spec.ts @@ -0,0 +1,21 @@ +import { test, expect } from "./fixtures" +import { promptSelector } from "./utils" + +test("smoke @mention inserts file pill token", async ({ page, gotoSession }) => { + await gotoSession() + + await page.locator(promptSelector).click() + await page.keyboard.type("@packages/app/package.json") + + const suggestion = page.getByRole("button", { name: /packages\/app\/\s*package\.json/ }).first() + await expect(suggestion).toBeVisible() + await suggestion.hover() + + await page.keyboard.press("Tab") + + const pill = page.locator(`${promptSelector} [data-type="file"][data-path="packages/app/package.json"]`) + await expect(pill).toBeVisible() + + await page.keyboard.type(" ok") + await expect(page.locator(promptSelector)).toContainText("ok") +}) diff --git a/specs/08-app-e2e-smoke-suite.md b/specs/08-app-e2e-smoke-suite.md index f39a123974..3447c18c05 100644 --- a/specs/08-app-e2e-smoke-suite.md +++ b/specs/08-app-e2e-smoke-suite.md @@ -23,7 +23,7 @@ Add 6 smoke tests to `packages/app/e2e/`: - [x] 1. Settings dialog open / switch / close (`packages/app/e2e/settings.spec.ts`) - [x] 2. Prompt slash command path: `/open` opens file picker (`packages/app/e2e/prompt-slash-open.spec.ts`) -- [ ] 3. Prompt @mention inserts a file pill token +- [x] 3. Prompt @mention inserts a file pill token (`packages/app/e2e/prompt-mention.spec.ts`) - [ ] 4. Model selection UI works end-to-end - [ ] 5. File viewer renders real file content - [ ] 8. Terminal init + create new terminal