You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
935 B
TypeScript
22 lines
935 B
TypeScript
// frontend/playwright/responsive.spec.ts
|
|
import { expect, test } from "@playwright/test";
|
|
|
|
const viewports = [
|
|
{ name: "mobile", w: 390, h: 844 },
|
|
{ name: "tablet", w: 834, h: 1112 },
|
|
{ name: "desktop", w: 1440, h: 900 },
|
|
];
|
|
|
|
for (const v of viewports) {
|
|
test(`반응형(${v.name}): 가로 스크롤 없음 + 내비 접근 가능`, async ({ page }) => {
|
|
await page.setViewportSize({ width: v.w, height: v.h });
|
|
await page.goto("/tasks");
|
|
await expect(page.locator(".kboard")).toBeVisible();
|
|
const scrollW = await page.evaluate(() => document.documentElement.scrollWidth);
|
|
const clientW = await page.evaluate(() => document.documentElement.clientWidth);
|
|
expect(scrollW).toBeLessThanOrEqual(clientW + 1);
|
|
// 모바일에서도 13항목 내비에 도달 가능(가로 스크롤 내비 유지)
|
|
await expect(page.getByRole("navigation").getByRole("link", { name: /작업/ })).toBeVisible();
|
|
});
|
|
}
|