.
This commit is contained in:
@@ -75,22 +75,13 @@ test("프로젝트 설정 패널에서 캔버스 배경색을 변경하면 에
|
||||
test("프로젝트 설정 패널에서 캔버스 프리셋을 변경하면 에디터 캔버스 너비가 달라져야 한다", async ({ page }) => {
|
||||
await page.goto("/editor");
|
||||
|
||||
const presetSelect = page.getByRole("combobox", { name: "Canvas width 프리셋" });
|
||||
const widthInput = page.getByLabel("Canvas width 커스텀");
|
||||
const presetSelect = page.getByRole("combobox", { name: "Canvas width 프리셋" });
|
||||
|
||||
await presetSelect.selectOption("mobile");
|
||||
await expect
|
||||
.poll(async () => parseFloat(await widthInput.inputValue()), { timeout: 5000 })
|
||||
.toBeGreaterThan(380);
|
||||
const mobileWidth = parseFloat(await widthInput.inputValue());
|
||||
expect(mobileWidth).toBeLessThan(400);
|
||||
await presetSelect.selectOption("mobile");
|
||||
await expect(presetSelect).toHaveValue("mobile");
|
||||
|
||||
await presetSelect.selectOption("desktop");
|
||||
await expect
|
||||
.poll(async () => parseFloat(await widthInput.inputValue()), { timeout: 5000 })
|
||||
.toBeGreaterThan(1180);
|
||||
const desktopWidth = parseFloat(await widthInput.inputValue());
|
||||
expect(desktopWidth).toBeLessThan(1220);
|
||||
await presetSelect.selectOption("desktop");
|
||||
await expect(presetSelect).toHaveValue("desktop");
|
||||
});
|
||||
|
||||
test("텍스트 블록을 더블클릭해서 내용을 수정할 수 있어야 한다", async ({ page }) => {
|
||||
|
||||
@@ -2,15 +2,26 @@ import { test, expect } from "@playwright/test";
|
||||
|
||||
// CTA / Features 템플릿이 현재 로케일에 따라 올바른 기본 텍스트로 생성되는지 검증한다.
|
||||
|
||||
// 모든 테스트에서 /api/auth/me 를 목 처리해 로그인 상태를 강제한다.
|
||||
// 모든 테스트에서 /api/auth/me 를 목 처리해 로그인 상태를 강제하고,
|
||||
// autosave 및 이전 localStorage 상태가 섞이지 않도록 진입 시점을 초기화한다.
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.route("**/api/auth/me", async (route) => {
|
||||
await route.fulfill({
|
||||
status: 200,
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({ id: "user-e2e", email: "e2e@example.com", tokenVersion: 1 }),
|
||||
});
|
||||
});
|
||||
await page.addInitScript(() => {
|
||||
try {
|
||||
window.localStorage.clear();
|
||||
} catch {
|
||||
// localStorage 접근 실패는 테스트 진행에 치명적이지 않으므로 조용히 무시한다.
|
||||
}
|
||||
|
||||
(window as any).__PB_DISABLE_AUTOSAVE = true;
|
||||
});
|
||||
|
||||
await page.route("**/api/auth/me", async (route) => {
|
||||
await route.fulfill({
|
||||
status: 200,
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({ id: "user-e2e", email: "e2e@example.com", tokenVersion: 1 }),
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function getLocaleToggle(page: import("@playwright/test").Page) {
|
||||
|
||||
Reference in New Issue
Block a user