forked from baron/baron-sso
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import { expect, test } from "@playwright/test";
|
|
import {
|
|
type Consent,
|
|
installDevApiMock,
|
|
makeClient,
|
|
seedAuth,
|
|
} from "./helpers/devfront-fixtures";
|
|
|
|
test.describe("DevFront consents", () => {
|
|
test.beforeEach(async ({ page }) => {
|
|
page.on("dialog", async (dialog) => {
|
|
await dialog.accept();
|
|
});
|
|
await seedAuth(page);
|
|
});
|
|
|
|
test("consent list and revoke flow", async ({ page }) => {
|
|
const state = {
|
|
clients: [makeClient("client-consent", { name: "Consent app" })],
|
|
consents: [
|
|
{
|
|
subject: "user-1",
|
|
userName: "Alice",
|
|
clientId: "client-consent",
|
|
clientName: "Consent app",
|
|
grantedScopes: ["openid", "profile"],
|
|
authenticatedAt: "2026-03-03T08:00:00.000Z",
|
|
createdAt: "2026-03-02T08:00:00.000Z",
|
|
status: "active",
|
|
tenantId: "tenant-a",
|
|
tenantName: "Tenant A",
|
|
},
|
|
] as Consent[],
|
|
auditLogsByCursor: undefined,
|
|
};
|
|
await installDevApiMock(page, state);
|
|
|
|
await page.goto("/clients/client-consent/consents");
|
|
await expect(page.getByText("Alice")).toBeVisible();
|
|
await expect(page.getByText("Tenant A")).toBeVisible();
|
|
|
|
await page.getByRole("button", { name: /권한 철회|Revoke/i }).click();
|
|
await expect(page.getByText(/Revoked|철회/i).first()).toBeVisible();
|
|
});
|
|
});
|