Files
landing-builder/tests/e2e/viewport-toggle.kbd.e2e.ts
T

27 lines
1.1 KiB
TypeScript

import { test, expect } from '@playwright/test'
const builderUrl = '/en/builder'
test('Preview viewport toggle via keyboard (Tab + Enter/Space)', async ({ page }) => {
await page.goto(builderUrl)
// Tab to first button (Desktop)
await page.keyboard.press('Tab')
await page.keyboard.press('Tab')
await expect(page.getByRole('button', { name: 'Desktop' })).toBeFocused()
// Press Space to toggle Mobile (first ensure Desktop is selected, then move to Mobile with Tab)
await page.keyboard.press('Tab')
await expect(page.getByRole('button', { name: 'Mobile' })).toBeFocused()
await page.keyboard.press('Space')
await expect(page.getByRole('button', { name: 'Mobile' })).toHaveAttribute('aria-pressed', 'true')
// Back to Desktop with Shift+Tab and Enter
await page.keyboard.down('Shift')
await page.keyboard.press('Tab')
await page.keyboard.up('Shift')
await expect(page.getByRole('button', { name: 'Desktop' })).toBeFocused()
await page.keyboard.press('Enter')
await expect(page.getByRole('button', { name: 'Desktop' })).toHaveAttribute('aria-pressed', 'true')
})