- Automation: rules CRUD (in-memory store + API) - Reminders: CRUD (in-memory store + API) - Notifications: push interface for future push server - Message search: API endpoint with DB-backed query - Session export: /sessions/:id/export → Markdown - Image analysis: API stub for multimodal LLM - Host exec: API stub for Docker sandbox - PWA: manifest.json + service worker - Docker: Dockerfile + docker-compose.yml - E2E: Playwright test scaffold - CI/CD: GitHub Actions workflow (go test + tsc)
13 lines
537 B
TypeScript
13 lines
537 B
TypeScript
// Cyrene E2E test — login, send message, verify response
|
|
// Usage: npx playwright test tests/e2e/chat.spec.ts
|
|
import { test, expect } from '@playwright/test'
|
|
|
|
test('login and send chat message', async ({ page }) => {
|
|
await page.goto('http://localhost:5173')
|
|
await page.fill('input[placeholder="用户名"]', 'admin')
|
|
await page.fill('input[placeholder="密码"]', 'admin12345')
|
|
await page.click('button:has-text("登录")')
|
|
await expect(page).toHaveURL(/\/chat/)
|
|
await expect(page.locator('text=Cyrene')).toBeVisible()
|
|
})
|