summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-01-22 06:27:08 -0600
committerAdam <[email protected]>2026-01-22 07:34:44 -0600
commitec53a7962e40a3beb8027d19a73a512776d833f7 (patch)
tree36180657e7fe4adc8c7edbc93ef612fe2ac27473
parent6f7d710129bfd2859dbdf0716003d486a4afeda8 (diff)
downloadopencode-ec53a7962e40a3beb8027d19a73a512776d833f7.tar.gz
opencode-ec53a7962e40a3beb8027d19a73a512776d833f7.zip
test(app): slash command smoke tests
-rw-r--r--packages/app/e2e/prompt-slash-open.spec.ts22
-rw-r--r--specs/08-app-e2e-smoke-suite.md2
2 files changed, 23 insertions, 1 deletions
diff --git a/packages/app/e2e/prompt-slash-open.spec.ts b/packages/app/e2e/prompt-slash-open.spec.ts
new file mode 100644
index 000000000..3c29d405c
--- /dev/null
+++ b/packages/app/e2e/prompt-slash-open.spec.ts
@@ -0,0 +1,22 @@
+import { test, expect } from "./fixtures"
+import { promptSelector } from "./utils"
+
+test("smoke /open opens file picker dialog", async ({ page, gotoSession }) => {
+ await gotoSession()
+
+ await page.locator(promptSelector).click()
+ await page.keyboard.type("/open")
+
+ const command = page.locator('[data-slash-id="file.open"]')
+ await expect(command).toBeVisible()
+ await command.hover()
+
+ await page.keyboard.press("Enter")
+
+ const dialog = page.getByRole("dialog")
+ await expect(dialog).toBeVisible()
+ await expect(dialog.getByRole("textbox").first()).toBeVisible()
+
+ await page.keyboard.press("Escape")
+ await expect(dialog).toHaveCount(0)
+})
diff --git a/specs/08-app-e2e-smoke-suite.md b/specs/08-app-e2e-smoke-suite.md
index 6e30c7728..f39a12397 100644
--- a/specs/08-app-e2e-smoke-suite.md
+++ b/specs/08-app-e2e-smoke-suite.md
@@ -22,7 +22,7 @@ Add 6 smoke tests to `packages/app/e2e/`:
### Progress
- [x] 1. Settings dialog open / switch / close (`packages/app/e2e/settings.spec.ts`)
-- [ ] 2. Prompt slash command path: `/open` opens file picker
+- [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
- [ ] 4. Model selection UI works end-to-end
- [ ] 5. File viewer renders real file content