43 lines
1.6 KiB
TypeScript
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')
|
|
})
|