관리자 흰 화면 진단 보강
This commit is contained in:
parent
e9efaa8031
commit
287029f2a2
6 changed files with 307 additions and 25 deletions
|
|
@ -160,6 +160,7 @@ async function mockAdminSession(
|
|||
}> = {},
|
||||
options: {
|
||||
adminUsers?: unknown[];
|
||||
adminTickets?: unknown;
|
||||
} = {},
|
||||
) {
|
||||
const seenAdminEndpoints = new Set<string>();
|
||||
|
|
@ -268,18 +269,20 @@ async function mockAdminSession(
|
|||
|
||||
if (method === "GET" && path.endsWith("/admin/tickets")) {
|
||||
seenAdminEndpoints.add("tickets");
|
||||
await fulfillJson({
|
||||
source: "database",
|
||||
durable: true,
|
||||
tickets: [],
|
||||
summary: {
|
||||
total: 0,
|
||||
open_count: 0,
|
||||
high_priority_count: 0,
|
||||
stale_count: 0,
|
||||
by_category: {},
|
||||
await fulfillJson(
|
||||
options.adminTickets ?? {
|
||||
source: "database",
|
||||
durable: true,
|
||||
tickets: [],
|
||||
summary: {
|
||||
total: 0,
|
||||
open_count: 0,
|
||||
high_priority_count: 0,
|
||||
stale_count: 0,
|
||||
by_category: {},
|
||||
},
|
||||
},
|
||||
});
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -704,6 +707,36 @@ test.describe("admin route guards", () => {
|
|||
await expect(page.locator(".ad-diagnostic")).toContainText("active_sessions");
|
||||
await expect(page.getByText("Bad User")).toBeVisible();
|
||||
});
|
||||
|
||||
test("shows ticket payload diagnostics instead of a white page", async ({ page }) => {
|
||||
await mockAdminSession(
|
||||
page,
|
||||
{
|
||||
user_id: "ticket-diagnostic-admin",
|
||||
email: "ticket-diagnostic-admin@twentyoz.kr",
|
||||
display_name: "Ticket Diagnostic Admin",
|
||||
role: "admin",
|
||||
admin_access: true,
|
||||
super_admin: true,
|
||||
onboarding_completed_at: 1_782_900_000,
|
||||
},
|
||||
{
|
||||
adminTickets: {
|
||||
source: "database",
|
||||
durable: true,
|
||||
tickets: [],
|
||||
summary: null,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
await page.goto("/admin/users");
|
||||
|
||||
await expect(page.getByRole("heading", { name: "가입 승인과 권한 관리" })).toBeVisible();
|
||||
await expect(page.locator(".ad-diagnostic")).toContainText("관리자 데이터 진단");
|
||||
await expect(page.locator(".ad-diagnostic")).toContainText("admin.tickets.summary");
|
||||
await expect(page.locator("body")).not.toHaveText(/^$/);
|
||||
});
|
||||
});
|
||||
|
||||
test.describe("admin route", () => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue