E2E 스모크: WYSIWYG 가이드 토글 및 멀티선택 라이브리전 검증 추가
Auto PR / open-pr (push) Successful in 20s
Auto Label PR / add-automerge-label (pull_request) Successful in 6s
CI / test (pull_request) Failing after 1m5s

This commit is contained in:
2025-11-17 18:01:08 +09:00
parent dc54226351
commit d2575c9b19
2 changed files with 72 additions and 0 deletions
@@ -0,0 +1,38 @@
import { test, expect } from '@playwright/test'
const wysiwygUrl = '/en/wysiwyg'
test.describe('WYSIWYG - Guides toggle and multiselect live region', () => {
test('toggles guides and announces multiselect in aria-live', async ({ page }) => {
await page.goto(wysiwygUrl)
// Canvas and live region present
const canvas = page.getByTestId('wysiwyg-canvas')
await expect(canvas).toBeVisible()
const live = page.getByTestId('aria-live')
await expect(live).toContainText(/선택\s*0개/)
// Add two text objects
const addText = page.getByRole('button', { name: /^Add Text$/i })
await addText.click()
await addText.click()
// Marquee select both
const box = await canvas.boundingBox()
if (!box) throw new Error('canvas not found')
await page.mouse.move(box.x + 40, box.y + 40)
await page.mouse.down()
await page.mouse.move(box.x + 300, box.y + 200)
await page.mouse.up()
await expect(live).toContainText(/선택\s*2개/)
// Guides toggle
const guidesBtn = page.getByRole('button', { name: /Guides/i })
await expect(guidesBtn).toHaveAttribute('aria-pressed', 'true')
await guidesBtn.click()
await expect(guidesBtn).toHaveAttribute('aria-pressed', 'false')
await guidesBtn.click()
await expect(guidesBtn).toHaveAttribute('aria-pressed', 'true')
})
})