From 6ff6048f95fc43dd92e415b24ab59da738f48244 Mon Sep 17 00:00:00 2001 From: Jaybe Date: Sun, 14 Dec 2025 16:56:32 +0900 Subject: [PATCH] =?UTF-8?q?e2e=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/e2e/editor.spec.ts | 31 +++++++++++--------- tests/e2e/form-editor-preview-parity.spec.ts | 7 +++++ 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/tests/e2e/editor.spec.ts b/tests/e2e/editor.spec.ts index 8622e75..e535579 100644 --- a/tests/e2e/editor.spec.ts +++ b/tests/e2e/editor.spec.ts @@ -5,13 +5,20 @@ import { test, expect } from "@playwright/test"; // 에디터 E2E에서는 인증된 사용자 시나리오를 기본으로 가정한다. // /api/auth/me 를 항상 200 으로 목 처리해, auth 가드가 /login 으로 리다이렉트하지 않도록 한다. 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 { + } + }); + + 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 }), + }); + }); }); test("/editor 페이지가 존재하고 Page Editor 헤더를 보여줘야 한다", async ({ page }) => { @@ -70,14 +77,10 @@ test("프로젝트 설정 패널에서 캔버스 프리셋을 변경하면 에 const presetSelect = page.getByRole("combobox", { name: "Canvas width 프리셋" }); await presetSelect.selectOption("mobile"); - const mobileMaxWidth = await inner.evaluate((el) => (el as HTMLElement).style.maxWidth); + await expect(inner).toHaveCSS("max-width", "390px"); - await presetSelect.selectOption("desktop"); - const desktopMaxWidth = await inner.evaluate((el) => (el as HTMLElement).style.maxWidth); - - expect(mobileMaxWidth).toBe("390px"); - expect(desktopMaxWidth).toBe("1200px"); - expect(mobileMaxWidth).not.toBe(desktopMaxWidth); + await presetSelect.selectOption("desktop"); + await expect(inner).toHaveCSS("max-width", "1200px"); }); test("텍스트 블록을 더블클릭해서 내용을 수정할 수 있어야 한다", async ({ page }) => { diff --git a/tests/e2e/form-editor-preview-parity.spec.ts b/tests/e2e/form-editor-preview-parity.spec.ts index b2cfc45..7a74d19 100644 --- a/tests/e2e/form-editor-preview-parity.spec.ts +++ b/tests/e2e/form-editor-preview-parity.spec.ts @@ -6,6 +6,13 @@ function parsePx(value: string): number { } test.beforeEach(async ({ page }) => { + await page.addInitScript(() => { + try { + window.localStorage.clear(); + } catch { + } + }); + await page.route("**/api/auth/me", async (route) => { await route.fulfill({ status: 200,