test: add more E2E tests for UI components

- Chat panel tests (interactive elements, iframe)
- Settings tests (dark mode, language, draw.io theme)
- Save dialog tests (buttons exist)
- History dialog tests
- Model config tests
- Keyboard interaction tests
- Upload area tests

Total: 15 E2E tests, all passing
This commit is contained in:
dayuan.jiang
2026-01-04 19:46:37 +09:00
parent 74fbb629e7
commit ca86c9ebc6
7 changed files with 237 additions and 0 deletions

26
tests/e2e/chat.spec.ts Normal file
View File

@@ -0,0 +1,26 @@
import { expect, test } from "@playwright/test"
test.describe("Chat Panel", () => {
test.beforeEach(async ({ page }) => {
await page.goto("/", { waitUntil: "networkidle" })
await page
.locator("iframe")
.waitFor({ state: "visible", timeout: 30000 })
})
test("page has interactive elements", async ({ page }) => {
// Verify buttons exist (settings, etc.)
const buttons = page.locator("button")
const count = await buttons.count()
expect(count).toBeGreaterThan(0)
})
test("draw.io iframe is interactive", async ({ page }) => {
const iframe = page.locator("iframe")
await expect(iframe).toBeVisible()
// Iframe should have loaded draw.io
const src = await iframe.getAttribute("src")
expect(src).toBeTruthy()
})
})