Files
resolutionflow/frontend/e2e/library-start.spec.ts
2026-03-16 02:29:22 -04:00

47 lines
1.7 KiB
TypeScript

import { expect, test } from '@playwright/test'
import {
createAuthenticatedApiContext,
createTroubleshootingTree,
disposeApiContext,
uniqueName,
} from './helpers/api'
test.describe('flow library start-session smoke tests', () => {
test('can start a troubleshooting session directly from a search result', async ({ page }) => {
const api = await createAuthenticatedApiContext()
const tree = await createTroubleshootingTree(api, {
name: uniqueName('Playwright Direct Start Flow'),
question: 'Did the library launch open the flow?',
})
try {
await page.goto('/trees')
await expect(
page.getByRole('heading', { name: 'Flow Library' }),
).toBeVisible()
await page.getByPlaceholder('Search flows...').fill(tree.name)
await page.getByRole('button', { name: 'Search', exact: true }).click()
const treeCard = page.locator('.bg-card').filter({ hasText: tree.name }).first()
await expect(treeCard).toBeVisible()
await treeCard.getByRole('button', { name: /^Start(?: Session)?$/ }).click()
await expect(page).toHaveURL(new RegExp(`/trees/${tree.id}/navigate$`))
await expect(page.getByRole('heading', { name: tree.name })).toBeVisible()
await expect(page.getByRole('button', { name: 'Start Troubleshooting' })).toBeVisible()
await page.getByPlaceholder('e.g., INC0012345').fill('PW-DIRECT-START')
await page.getByPlaceholder('e.g., Acme Corp').fill('Direct Start Client')
await page.getByRole('button', { name: 'Start Troubleshooting' }).click()
await expect(
page.getByRole('heading', { name: 'Did the library launch open the flow?' }),
).toBeVisible()
} finally {
await disposeApiContext(api)
}
})
})