- Use specific command palette placeholder to avoid ambiguous matches - Fix 'Quick Actions' scoping (two elements with same text) - Fix 'Resolved' exact match on session detail page - Fix tree editor to use getByText instead of getByDisplayValue - Fix 'Add Step' strict mode by using .first() - Fix fallback description placeholder text - Update playwright.config.ts to use port 5433 and resolutionflow DB - Update FlowPilot chat selectors to match actual page layout 11/17 new tests now passing. Remaining 6 need procedural session navigation investigation. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
25 lines
977 B
TypeScript
25 lines
977 B
TypeScript
import { expect, test } from '@playwright/test'
|
|
|
|
test.describe('FlowPilot assistant chat smoke tests', () => {
|
|
test('can open the assistant chat page and see the interface', async ({ page }) => {
|
|
await page.goto('/assistant')
|
|
|
|
// Should load the assistant chat page — UI shows "AI Assistant" heading
|
|
await expect(page.getByText('AI Assistant')).toBeVisible({ timeout: 10000 })
|
|
|
|
// Should show the start conversation button or new chat button
|
|
await expect(page.getByText('Start a Conversation')).toBeVisible()
|
|
})
|
|
|
|
test('can create a new chat session', async ({ page }) => {
|
|
await page.goto('/assistant')
|
|
await expect(page.getByText('AI Assistant')).toBeVisible({ timeout: 10000 })
|
|
|
|
// Click "New Chat" button in the sidebar
|
|
await page.getByText('New Chat').click()
|
|
|
|
// After creating a chat, a textarea or input should appear for messaging
|
|
await expect(page.locator('textarea').first()).toBeVisible({ timeout: 5000 })
|
|
})
|
|
})
|