1
0
forked from baron/baron-sso

profile mock 추가

This commit is contained in:
2026-03-03 17:19:24 +09:00
parent 4cd0de5174
commit a4f483332c
3 changed files with 66 additions and 8 deletions

View File

@@ -19,6 +19,18 @@ test.describe("Authentication", () => {
});
},
);
// Default mock for user profile
await page.route("**/api/v1/user/me", async (route) => {
await route.fulfill({
json: {
id: "admin-user",
name: "Admin User",
email: "admin@example.com",
role: "super_admin",
},
});
});
});
test("should redirect unauthorized users to login page", async ({ page }) => {
@@ -74,13 +86,17 @@ test.describe("Authentication", () => {
});
await page.goto("/");
await expect(page.locator("aside")).toBeVisible();
// Wait for the auth loading to finish
await expect(page.locator(".animate-spin")).not.toBeVisible();
// Mock window.confirm
page.on("dialog", (dialog) => dialog.accept());
// Click logout button (label: ui.admin.nav.logout)
await page.click('button:has-text("Logout"), button:has-text("로그아웃")');
// Click logout button in the sidebar (use nav container to be specific)
await page.click(
'nav button:has-text("Logout"), nav button:has-text("로그아웃")',
);
await expect(page).toHaveURL(/\/login/);
});

View File

@@ -28,6 +28,18 @@ test.describe("Tenant Owners Management", () => {
},
);
// Mock user profile
await page.route("**/api/v1/user/me", async (route) => {
await route.fulfill({
json: {
id: "admin-user",
name: "Admin User",
email: "admin@example.com",
role: "super_admin",
},
});
});
// Mock tenant details
await page.route("**/api/v1/admin/tenants/tenant-1**", async (route) => {
await route.fulfill({
@@ -55,12 +67,22 @@ test.describe("Tenant Owners Management", () => {
},
);
await page.goto("/tenants/tenant-1/owners");
// Mock admins list (empty)
await page.route(
"**/api/v1/admin/tenants/tenant-1/admins**",
async (route) => {
await route.fulfill({ json: [] });
},
);
await page.goto("/tenants/tenant-1/permissions");
// Check if the page title and the owner are visible
await expect(page.locator("h3")).toContainText("테넌트 소유자");
await expect(page.locator("table")).toContainText("Owner One");
await expect(page.locator("table")).toContainText("owner1@example.com");
await expect(page.getByText("테넌트 소유자")).toBeVisible();
await expect(page.locator("table").first()).toContainText("Owner One");
await expect(page.locator("table").first()).toContainText(
"owner1@example.com",
);
});
test("should add a new owner", async ({ page }) => {
@@ -76,6 +98,14 @@ test.describe("Tenant Owners Management", () => {
},
);
// Mock admins list (empty)
await page.route(
"**/api/v1/admin/tenants/tenant-1/admins**",
async (route) => {
await route.fulfill({ json: [] });
},
);
// Mock users search
await page.route("**/api/v1/admin/users?**", async (route) => {
await route.fulfill({
@@ -88,7 +118,7 @@ test.describe("Tenant Owners Management", () => {
});
});
await page.goto("/tenants/tenant-1/owners");
await page.goto("/tenants/tenant-1/permissions");
// Click add button
await page.click('button:has-text("소유자 추가")');

View File

@@ -28,6 +28,18 @@ test.describe("Tenants Management", () => {
},
);
// Mock user profile
await page.route("**/api/v1/user/me", async (route) => {
await route.fulfill({
json: {
id: "admin-user",
name: "Admin User",
email: "admin@example.com",
role: "super_admin",
},
});
});
// Default mock for tenants to avoid proxy leaks
await page.route("**/api/v1/admin/tenants**", async (route) => {
if (route.request().method() === "GET") {