From 661ffbbf2c775951b11b5684b732f2a3e0a14dcd Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Sat, 27 Jun 2026 21:34:19 +0900 Subject: [PATCH] =?UTF-8?q?test:=20blazor=20=EB=82=B4=EB=B6=80=20=EC=9D=B4?= =?UTF-8?q?=EB=8F=99=EC=9C=BC=EB=A1=9C=20=EA=B4=80=EB=A6=AC=EC=9E=90=20e2e?= =?UTF-8?q?=20=EC=95=88=EC=A0=95=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/e2e/admin-smoke.spec.ts | 4 ++-- tests/e2e/contact-submit.spec.ts | 4 ++-- tests/e2e/helpers/admin-auth.ts | 12 ++++++++++++ tests/e2e/inquiry-detail.spec.ts | 4 ++-- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/tests/e2e/admin-smoke.spec.ts b/tests/e2e/admin-smoke.spec.ts index 19bd039..7c36685 100644 --- a/tests/e2e/admin-smoke.spec.ts +++ b/tests/e2e/admin-smoke.spec.ts @@ -1,5 +1,5 @@ import { expect, test } from '@playwright/test'; -import { loginThroughAdminUi } from './helpers/admin-auth'; +import { loginThroughAdminUi, navigateInBlazor } from './helpers/admin-auth'; const username = process.env.E2E_ADMIN_USERNAME ?? 'admin'; const password = process.env.E2E_ADMIN_PASSWORD; @@ -29,7 +29,7 @@ test.describe('admin smoke', () => { ]; for (const check of menuChecks) { - await page.goto(`${baseUrl}${check.path}`); + await navigateInBlazor(page, `${baseUrl}${check.path}`); await expect(page).toHaveURL(new RegExp(`${check.path}$`)); await expect(page.locator('.mud-main-content').getByText(check.content).first()).toBeVisible({ timeout: 20_000 }); } diff --git a/tests/e2e/contact-submit.spec.ts b/tests/e2e/contact-submit.spec.ts index d98e577..3d4d62c 100644 --- a/tests/e2e/contact-submit.spec.ts +++ b/tests/e2e/contact-submit.spec.ts @@ -1,5 +1,5 @@ import { expect, test } from '@playwright/test'; -import { findInquiryByName, getAdminToken, loginThroughAdminUi } from './helpers/admin-auth'; +import { findInquiryByName, getAdminToken, loginThroughAdminUi, navigateInBlazor } from './helpers/admin-auth'; const username = process.env.E2E_ADMIN_USERNAME ?? 'admin'; const password = process.env.E2E_ADMIN_PASSWORD; @@ -49,7 +49,7 @@ test.describe('contact submit', () => { expect(inquiry.message).toContain(message.slice(0, 20)); await loginThroughAdminUi(page, baseUrl, username, password); - await page.goto(`${baseUrl}/admin/inquiries`); + await navigateInBlazor(page, `${baseUrl}/admin/inquiries`); await expect(page.locator('.mud-main-content').getByText('문의 관리').first()).toBeVisible({ timeout: 20_000 }); }); }); diff --git a/tests/e2e/helpers/admin-auth.ts b/tests/e2e/helpers/admin-auth.ts index 9fb2a06..fa50e61 100644 --- a/tests/e2e/helpers/admin-auth.ts +++ b/tests/e2e/helpers/admin-auth.ts @@ -41,6 +41,18 @@ export async function loginThroughAdminUi( await expect(page.getByRole('heading', { name: '대시보드' })).toBeVisible({ timeout: 20_000 }); } +export async function navigateInBlazor(page: Page, targetUrl: string) { + await page.evaluate(url => { + const blazor = (window as typeof window & { Blazor?: { navigateTo: (target: string) => void } }).Blazor; + if (blazor) { + blazor.navigateTo(url); + return; + } + + window.location.href = url; + }, targetUrl); +} + export async function findInquiryByName( request: APIRequestContext, baseUrl: string, diff --git a/tests/e2e/inquiry-detail.spec.ts b/tests/e2e/inquiry-detail.spec.ts index 7bb9245..c257ae5 100644 --- a/tests/e2e/inquiry-detail.spec.ts +++ b/tests/e2e/inquiry-detail.spec.ts @@ -1,5 +1,5 @@ import { expect, test } from '@playwright/test'; -import { findInquiryByName, getAdminToken, loginThroughAdminUi } from './helpers/admin-auth'; +import { findInquiryByName, getAdminToken, loginThroughAdminUi, navigateInBlazor } from './helpers/admin-auth'; const username = process.env.E2E_ADMIN_USERNAME ?? 'admin'; const password = process.env.E2E_ADMIN_PASSWORD; @@ -32,7 +32,7 @@ test.describe('inquiry detail', () => { const inquiry = await findInquiryByName(request, baseUrl, token, name); await loginThroughAdminUi(page, baseUrl, username, password); - await page.goto(`${baseUrl}/admin/inquiries/${inquiry.id}`); + await navigateInBlazor(page, `${baseUrl}/admin/inquiries/${inquiry.id}`); await expect(page).toHaveURL(/\/taxbaik\/admin\/inquiries\/\d+$/); await expect(page.getByText(name)).toBeVisible();