Files
KArtSell.Aegis/docs/Design/kbx-foundation-v36/tests/e2e/kbx-keyboard-regression.spec.ts
T

43 lines
1.6 KiB
TypeScript

import { expect, test } from '@playwright/test'
test('core ERP keyboard contract remains consistent', async ({ page }) => {
await page.goto('/oms/orders/new')
await page.keyboard.press('F2')
await page.keyboard.press('Escape')
await page.keyboard.press('Tab')
await page.keyboard.press('Shift+Tab')
await page.keyboard.press('Enter')
await page.keyboard.press('F8')
await expect(page.locator('body')).toBeVisible()
})
test('search screen keeps F3 and mouse-complete behavior', async ({ page }) => {
await page.goto('/oms/orders')
await page.keyboard.press('F3')
await expect(page.getByRole('button',{name:/조회/})).toBeVisible()
})
test('menu search is available by mouse and Ctrl+K', async ({ page }) => {
await page.goto('/')
await expect(page.getByRole('button',{name:/메뉴 검색/})).toBeVisible()
await page.keyboard.press('Control+K')
await page.keyboard.type('재고')
await page.keyboard.press('ArrowDown')
await page.keyboard.press('Enter')
})
test('component tabs support arrow, Home and End navigation', async ({ page }) => {
await page.goto('/internal/kbx/catalog?density=compact')
const basic=page.getByRole('tab',{name:'기본'})
const audit=page.getByRole('tab',{name:/변경이력/})
await basic.focus()
await page.keyboard.press('ArrowRight')
await expect(audit).toHaveAttribute('aria-selected','true')
await page.keyboard.press('Home')
await expect(basic).toHaveAttribute('aria-selected','true')
await page.keyboard.press('End')
await expect(audit).toHaveAttribute('aria-selected','true')
await page.keyboard.press('ArrowLeft')
await expect(basic).toHaveAttribute('aria-selected','true')
})