summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoradamelmore <[email protected]>2026-01-26 17:42:23 -0600
committeradamelmore <[email protected]>2026-01-26 17:42:23 -0600
commitb24fd90fe8a3433333646f61be6ca882b55d1155 (patch)
tree857a7f5db041191c47a761067261bd18fbd1c4d4
parent6897bb7d02a67c516687a046c354c7faea983cc2 (diff)
downloadopencode-b24fd90fe8a3433333646f61be6ca882b55d1155.tar.gz
opencode-b24fd90fe8a3433333646f61be6ca882b55d1155.zip
test(app): file tree spec
-rw-r--r--packages/app/e2e/file-tree.spec.ts36
1 files changed, 36 insertions, 0 deletions
diff --git a/packages/app/e2e/file-tree.spec.ts b/packages/app/e2e/file-tree.spec.ts
new file mode 100644
index 000000000..12ea7a081
--- /dev/null
+++ b/packages/app/e2e/file-tree.spec.ts
@@ -0,0 +1,36 @@
+import { test, expect } from "./fixtures"
+
+test("file tree can expand folders and open a file", async ({ page, gotoSession }) => {
+ await gotoSession()
+
+ await page.getByRole("button", { name: "Toggle file tree" }).click()
+
+ const treeTabs = page.locator('[data-component="tabs"][data-variant="pill"][data-scope="filetree"]')
+ await expect(treeTabs).toBeVisible()
+
+ await treeTabs.locator('[data-slot="tabs-trigger"]').nth(1).click()
+
+ const node = (name: string) => treeTabs.getByRole("button", { name, exact: true })
+
+ await expect(node("packages")).toBeVisible()
+ await node("packages").click()
+
+ await expect(node("app")).toBeVisible()
+ await node("app").click()
+
+ await expect(node("src")).toBeVisible()
+ await node("src").click()
+
+ await expect(node("components")).toBeVisible()
+ await node("components").click()
+
+ await expect(node("file-tree.tsx")).toBeVisible()
+ await node("file-tree.tsx").click()
+
+ const tab = page.getByRole("tab", { name: "file-tree.tsx" })
+ await expect(tab).toBeVisible()
+ await tab.click()
+
+ const code = page.locator('[data-component="code"]').first()
+ await expect(code.getByText("export default function FileTree")).toBeVisible()
+})