forked from baron/baron-sso
orgfront 버그 픽스
This commit is contained in:
@@ -515,10 +515,13 @@ test("org chart allows a user in a hanmac-family descendant tenant", async ({
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({
|
||||
tenants: [
|
||||
{
|
||||
...tenant("hanmac-family-id", "한맥가족", "hanmac-family"),
|
||||
type: "COMPANY_GROUP",
|
||||
},
|
||||
tenant(
|
||||
"hanmac-family-id",
|
||||
"한맥가족",
|
||||
"hanmac-family",
|
||||
"hanmac-family-id",
|
||||
"COMPANY_GROUP",
|
||||
),
|
||||
tenant("saman-id", "삼안", "saman", "hanmac-family-id", "COMPANY"),
|
||||
tenant("saman-platform-id", "플랫폼팀", "saman-platform", "saman-id"),
|
||||
],
|
||||
@@ -562,6 +565,57 @@ test("org chart allows a user in a hanmac-family descendant tenant", async ({
|
||||
await expect(svg.getByText(/Saman Descendant User/)).toBeVisible();
|
||||
});
|
||||
|
||||
test("org chart logs authenticated snapshot failures with actionable diagnostics", async ({
|
||||
page,
|
||||
}) => {
|
||||
const consoleMessages: string[] = [];
|
||||
page.on("console", async (message) => {
|
||||
if (message.type() !== "error") return;
|
||||
const values = await Promise.all(
|
||||
message.args().map((arg) => arg.jsonValue().catch(() => "")),
|
||||
);
|
||||
consoleMessages.push(JSON.stringify(values));
|
||||
});
|
||||
|
||||
await page.addInitScript(() => {
|
||||
window.localStorage.setItem("playwright_auth_bypass", "1");
|
||||
window.localStorage.setItem("dev_tenant_id", "saman-id");
|
||||
});
|
||||
|
||||
await page.route("**/api/v1/admin/orgchart/snapshot**", async (route) => {
|
||||
await route.fulfill({
|
||||
contentType: "application/json",
|
||||
status: 503,
|
||||
body: JSON.stringify({
|
||||
code: "service_unavailable",
|
||||
error: "tenant root traversal failed",
|
||||
}),
|
||||
});
|
||||
});
|
||||
|
||||
await page.goto("/chart");
|
||||
|
||||
await expect(
|
||||
page.getByText(
|
||||
"조직도를 불러올 수 없습니다. 로그인 상태와 조직 권한을 확인해 주세요.",
|
||||
),
|
||||
).toBeVisible();
|
||||
await expect(
|
||||
page.getByText("조직도를 불러올 수 없거나 만료된 링크입니다."),
|
||||
).toHaveCount(0);
|
||||
await expect
|
||||
.poll(() =>
|
||||
consoleMessages.some(
|
||||
(message) =>
|
||||
message.includes("[orgfront] Org chart load failed") &&
|
||||
message.includes("service_unavailable") &&
|
||||
message.includes("saman-id") &&
|
||||
message.includes("/v1/admin/orgchart/snapshot"),
|
||||
),
|
||||
)
|
||||
.toBe(true);
|
||||
});
|
||||
|
||||
test("org chart places GPDTDC representative users on visible leaf appointments", async ({
|
||||
page,
|
||||
}) => {
|
||||
|
||||
Reference in New Issue
Block a user