i18n 적용
This commit is contained in:
+22
-18
@@ -34,8 +34,8 @@ test("에디터에서 Hero 템플릿을 추가하면 프리뷰에서 동일한 H
|
||||
|
||||
// 헤드라인과 CTA 버튼이 에디터에서 생성되었는지 한 번 확인한다.
|
||||
const editorCanvas = page.getByTestId("editor-canvas");
|
||||
await expect(editorCanvas.getByText("Hero 제목을 여기에 입력하세요")).toBeVisible();
|
||||
await expect(editorCanvas.getByRole("button", { name: "지금 시작하기" })).toBeVisible();
|
||||
await expect(editorCanvas.getByText("Your hero headline goes here")).toBeVisible();
|
||||
await expect(editorCanvas.getByRole("button", { name: "Get started now" })).toBeVisible();
|
||||
|
||||
// 헤더의 프리뷰 열기 링크를 통해 /preview 로 이동한다 (클라이언트 내 내비게이션 유지).
|
||||
await page.getByRole("link", { name: "프리뷰 열기" }).click();
|
||||
@@ -44,9 +44,9 @@ test("에디터에서 Hero 템플릿을 추가하면 프리뷰에서 동일한 H
|
||||
await expect(page.getByRole("heading", { name: "Page Preview" })).toBeVisible();
|
||||
|
||||
// 프리뷰에서도 Hero 헤드라인과 CTA 버튼이 그대로 보여야 한다.
|
||||
await expect(page.getByText("Hero 제목을 여기에 입력하세요")).toBeVisible();
|
||||
await expect(page.getByText("Your hero headline goes here")).toBeVisible();
|
||||
// 프리뷰에서는 CTA를 실제 링크(<a>)로 렌더링하므로 텍스트 기준으로만 검증한다.
|
||||
await expect(page.getByText("지금 시작하기")).toBeVisible();
|
||||
await expect(page.getByText("Get started now")).toBeVisible();
|
||||
|
||||
// 프리뷰 화면에는 에디터용 "텍스트" 버튼이 없어야 한다.
|
||||
await expect(page.getByRole("button", { name: "텍스트" })).toHaveCount(0);
|
||||
@@ -73,17 +73,17 @@ test("에디터에서 Features 템플릿을 추가하면 프리뷰에서 3개의
|
||||
await page.getByRole("button", { name: "기능 템플릿" }).click();
|
||||
|
||||
const editorCanvas = page.getByTestId("editor-canvas");
|
||||
await expect(editorCanvas.getByText("Feature 1 제목")).toBeVisible();
|
||||
await expect(editorCanvas.getByText("Feature 2 제목")).toBeVisible();
|
||||
await expect(editorCanvas.getByText("Feature 3 제목")).toBeVisible();
|
||||
await expect(editorCanvas.getByText("Feature 1")).toBeVisible();
|
||||
await expect(editorCanvas.getByText("Feature 2")).toBeVisible();
|
||||
await expect(editorCanvas.getByText("Feature 3")).toBeVisible();
|
||||
|
||||
await page.getByRole("link", { name: "프리뷰 열기" }).click();
|
||||
|
||||
await expect(page.getByRole("heading", { name: "Page Preview" })).toBeVisible();
|
||||
|
||||
await expect(page.getByText("Feature 1 제목")).toBeVisible();
|
||||
await expect(page.getByText("Feature 2 제목")).toBeVisible();
|
||||
await expect(page.getByText("Feature 3 제목")).toBeVisible();
|
||||
await expect(page.getByText("Feature 1")).toBeVisible();
|
||||
await expect(page.getByText("Feature 2")).toBeVisible();
|
||||
await expect(page.getByText("Feature 3")).toBeVisible();
|
||||
});
|
||||
|
||||
test("에디터에서 CTA 템플릿을 추가하면 프리뷰에서 CTA 텍스트와 버튼이 보여야 한다", async ({ page }) => {
|
||||
@@ -92,15 +92,15 @@ test("에디터에서 CTA 템플릿을 추가하면 프리뷰에서 CTA 텍스
|
||||
await page.getByRole("button", { name: "CTA 템플릿" }).click();
|
||||
|
||||
const editorCanvas = page.getByTestId("editor-canvas");
|
||||
await expect(editorCanvas.getByText("지금 바로 행동을 유도하는 CTA 텍스트를 입력하세요.")).toBeVisible();
|
||||
await expect(editorCanvas.getByRole("button", { name: "CTA 버튼" })).toBeVisible();
|
||||
await expect(editorCanvas.getByText("Write a compelling CTA message here.")).toBeVisible();
|
||||
await expect(editorCanvas.getByRole("button", { name: "Call to action" })).toBeVisible();
|
||||
|
||||
await page.getByRole("link", { name: "프리뷰 열기" }).click();
|
||||
|
||||
await expect(page.getByRole("heading", { name: "Page Preview" })).toBeVisible();
|
||||
|
||||
await expect(page.getByText("지금 바로 행동을 유도하는 CTA 텍스트를 입력하세요.")).toBeVisible();
|
||||
await expect(page.getByText("CTA 버튼")).toBeVisible();
|
||||
await expect(page.getByText("Write a compelling CTA message here.")).toBeVisible();
|
||||
await expect(page.getByText("Call to action")).toBeVisible();
|
||||
});
|
||||
|
||||
test("모바일 뷰에서도 프리뷰 페이지가 깨지지 않고 주요 템플릿 컨텐츠를 보여줘야 한다", async ({ page }) => {
|
||||
@@ -122,17 +122,21 @@ test("모바일 뷰에서도 프리뷰 페이지가 깨지지 않고 주요 템
|
||||
await expect(page.getByRole("heading", { name: "Page Preview" })).toBeVisible();
|
||||
|
||||
// Hero 헤드라인
|
||||
await expect(page.getByText("Hero 제목을 여기에 입력하세요")).toBeVisible();
|
||||
await expect(page.getByText("Your hero headline goes here")).toBeVisible();
|
||||
|
||||
// Features 제목 일부
|
||||
await expect(page.getByText("Feature 1 제목")).toBeVisible();
|
||||
await expect(page.getByText("Feature 1")).toBeVisible();
|
||||
|
||||
// Pricing 플랜 이름/가격 일부
|
||||
await expect(page.getByText("Basic")).toBeVisible();
|
||||
await expect(page.getByText("₩9,900/월")).toBeVisible();
|
||||
await expect(page.getByText("$9/month")).toBeVisible();
|
||||
|
||||
// Testimonials 본문 일부
|
||||
await expect(page.getByText("이 서비스 덕분에 랜딩 페이지 제작 시간이 크게 줄었습니다.")).toBeVisible();
|
||||
await expect(
|
||||
page.getByText(
|
||||
"This builder dramatically reduced the time we spend creating landing pages.",
|
||||
),
|
||||
).toBeVisible();
|
||||
});
|
||||
|
||||
test("텍스트 블록의 정렬/폰트 크기/색상이 프리뷰에도 반영되어야 한다", async ({ page }) => {
|
||||
|
||||
Reference in New Issue
Block a user