test(ai-character): 리소스 운영 E2E 보강

This commit is contained in:
Yu Sung
2026-08-01 01:30:52 +09:00
parent 3faca90135
commit 3759abf8b7
16 changed files with 1962 additions and 62 deletions

View File

@@ -1,7 +1,7 @@
import { expect, test } from "@playwright/test";
import type { Page } from "@playwright/test";
const apiBaseUrl = "https://test-character-admin.sodalive.net";
import { apiBaseUrl } from "./api-base-url";
const authSession = JSON.stringify({ token: "admin-token", role: "ADMIN" });
async function hasMockWorker(page: Page): Promise<boolean> {
@@ -87,7 +87,7 @@ test("keeps a network error from falling back to browser MSW", async ({ page })
await page.goto("/ai-characters");
// Then
await expect(page.getByRole("alert")).toContainText("보호 route 확인에 실패했습니다.");
await expect(page.getByRole("alert")).toContainText("알 수 없는 오류가 발생했습니다.");
await expect(page.getByRole("main", { name: "AI 캐릭터 관리" })).toHaveCount(0);
await expect(page.getByRole("button", { name: "로그아웃" })).toHaveCount(0);
expect(await hasMockWorker(page)).toBe(false);
@@ -110,7 +110,7 @@ test("keeps retry available after a server network retry fails", async ({ page }
await page.goto("/ai-characters");
const retryButton = page.getByRole("button", { name: "보호 route 다시 시도" });
await expect(retryButton).toBeVisible();
await expect(page.getByRole("alert")).toContainText("보호 route 확인에 실패했습니다.");
await expect(page.getByRole("alert")).toContainText("알 수 없는 오류가 발생했습니다.");
await page.unroute(protectedRouteUrl);
await page.route(protectedRouteUrl, async (route) => {
retryRequestCount += 1;
@@ -128,7 +128,7 @@ test("keeps retry available after a server network retry fails", async ({ page }
await expect(page.getByRole("button", { name: "로그아웃" })).toHaveCount(0);
releaseRetryFailure();
await expect(page.getByRole("button", { name: "보호 route 다시 시도" })).toBeVisible();
await expect(page.getByRole("alert")).toContainText("보호 route 확인에 실패했습니다.");
await expect(page.getByRole("alert")).toContainText("알 수 없는 오류가 발생했습니다.");
await expect(page.getByRole("main", { name: "AI 캐릭터 관리" })).toHaveCount(0);
await expect(page.getByRole("button", { name: "로그아웃" })).toHaveCount(0);
expect(await hasMockWorker(page)).toBe(false);