openpencil/tests/e2e/ui/tooltips.webkit.spec.ts
2026-05-19 15:41:38 +03:00

43 lines
1.6 KiB
TypeScript

import { expect, test, useEditorSetup } from '#tests/e2e/fixtures'
const editor = useEditorSetup()
test.skip(({ browserName }) => browserName !== 'webkit', 'WebKit tooltip smoke test')
test('tooltips stay hoverable and clickable in WebKit', async () => {
await editor.canvas.clearCanvas()
await editor.canvas.drawRect(180, 180, 80, 80)
const strokeItems = editor.page.getByTestId('stroke-item')
const strokeCount = await strokeItems.count()
const strokeAdd = editor.page.getByTestId('stroke-section-add')
await strokeAdd.hover()
await expect(
editor.page.locator('[role=tooltip]').filter({ hasText: 'Add stroke' })
).toBeVisible()
await strokeAdd.click()
await expect(strokeItems).toHaveCount(strokeCount + 1)
const effectAdd = editor.page.getByTestId('effects-section-add')
await effectAdd.hover()
await expect(
editor.page.locator('[role=tooltip]').filter({ hasText: 'Add effect' })
).toBeVisible()
await effectAdd.click()
await expect(editor.page.getByTestId('effect-item')).toHaveCount(1)
await editor.page.keyboard.press('Meta+J')
await expect(editor.page.getByTestId('provider-setup')).toBeVisible()
await editor.page.getByTestId('api-key-input').fill('test-key')
await editor.page.getByTestId('api-key-save').click()
await expect(editor.page.getByTestId('chat-input')).toBeVisible()
const settings = editor.page.getByTestId('provider-settings-trigger')
await settings.hover()
await expect(
editor.page.locator('[role=tooltip]').filter({ hasText: 'Provider settings' })
).toBeVisible()
await settings.click()
await expect(editor.page.getByTestId('provider-settings-provider')).toBeVisible()
})