file-viewer.spec.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { test, expect } from "./fixtures"
  2. import { modKey } from "./utils"
  3. test("smoke file viewer renders real file content", async ({ page, gotoSession }) => {
  4. await gotoSession()
  5. const sep = process.platform === "win32" ? "\\" : "/"
  6. const file = ["packages", "app", "package.json"].join(sep)
  7. await page.keyboard.press(`${modKey}+P`)
  8. const dialog = page.getByRole("dialog")
  9. await expect(dialog).toBeVisible()
  10. const input = dialog.getByRole("textbox").first()
  11. await input.fill(file)
  12. const fileItem = dialog
  13. .locator(
  14. '[data-slot="list-item"][data-key^="file:"][data-key*="packages"][data-key*="app"][data-key$="package.json"]',
  15. )
  16. .first()
  17. await expect(fileItem).toBeVisible()
  18. await fileItem.click()
  19. await expect(dialog).toHaveCount(0)
  20. const tab = page.getByRole("tab", { name: "package.json" })
  21. await expect(tab).toBeVisible()
  22. await tab.click()
  23. const code = page.locator('[data-component="code"]').first()
  24. await expect(code).toBeVisible()
  25. await expect(code.getByText("@opencode-ai/app")).toBeVisible()
  26. })