Erik Jan de Wit 095a194ec3
playwright rewrite (#36276)
* initial version playwright rewrite

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* small refactor cancel button

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added policies ciba to playwright

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added policies spec

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added flow tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added axe tests for flows

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added more tests for authentication flows

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added client advanced test to playwright

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added client authorization tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added axe check

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added test for initial access token

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added registration policies test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added client scope test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added client scope tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* updated dependency

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added client role test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fix running playwright tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added client saml

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added saml test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added events test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* more groups tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added group role test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added realm settings i18n tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added oidc and saml test for identity provider

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fix tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* update ci to run playwright instead of cypress

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* add masthead test and use component instead

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added organizations test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added export realm test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added partial import

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added realm roles

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* add realm client policies test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added client profile tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* merge errors

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* realm settings

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added realm settings general test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* add login tab and localization

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* realm settings accessibility test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added user profile test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added realm create test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added realm user registration spec

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added sessions test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added kerberos test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added ldap mapper test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added ldap test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* removed cypress tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* added user tab test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* run playwright tests instead of jest tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed some tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed some more tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fix test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fixed tests

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* fix test

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* removed cypress

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* remove cyperss

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* Remove some more workflow remanants from Cypress

Signed-off-by: Jon Koops <jonkoops@gmail.com>
Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* lock file

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

* pr review

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>

---------

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>
Signed-off-by: Jon Koops <jonkoops@gmail.com>
Co-authored-by: Jon Koops <jonkoops@gmail.com>
2025-03-12 07:35:22 -04:00

122 lines
3.3 KiB
TypeScript

import { Page, test } from "@playwright/test";
import { v4 as uuid } from "uuid";
import adminClient from "../utils/AdminClient";
import { login, logout } from "../utils/login";
import { assertAxeViolations } from "../utils/masthead";
import { goToEvents, goToRealm } from "../utils/sidebar";
import { assertEmptyTable, assertRowExists, expandRow } from "../utils/table";
import {
assertSearchButtonDisabled,
assertSearchChipGroupItemExist,
clickSearchButton,
clickSearchPanel,
enableSaveEvents,
fillSearchPanel,
goToAdminEventsTab,
goToEventsConfig,
} from "./list";
test.describe("Events tests", () => {
const tableName = "Events";
const realmName = `events-realm-${uuid()}`;
const eventsTestUser = {
eventsTestUserId: "",
userRepresentation: {
username: `events-test-${uuid()}`,
enabled: true,
credentials: [{ value: "events-test" }],
realm: realmName,
email: "some@email.com",
firstName: "Erik",
lastName: "Blankenburg",
},
};
test.beforeAll(async () => {
await adminClient.createRealm(realmName, { enabled: true });
const { id } = await adminClient.createUser(
eventsTestUser.userRepresentation,
);
eventsTestUser.eventsTestUserId = id!;
await adminClient.addClientRoleToUser(
id!,
"realm-management",
["realm-admin"],
realmName,
);
});
test.afterAll(() => adminClient.deleteRealm(realmName));
test.describe("User events list empty", () => {
test.beforeEach(async ({ page }) => {
await login(page);
await goToRealm(page, realmName);
await goToEvents(page);
});
test("Show empty when no save events", async ({ page }) => {
await goToEventsConfig(page);
await goToEvents(page);
await assertEmptyTable(page);
});
});
test.describe("User events with events", () => {
let page: Page;
test.beforeAll(async ({ browser }) => {
page = await browser.newPage();
await login(page);
await goToRealm(page, realmName);
await goToEvents(page);
await goToEventsConfig(page);
await enableSaveEvents(page);
await logout(page);
});
test.afterAll(async () => {
await page.close();
});
test.beforeEach(async ({ page }) => {
await login(
page,
eventsTestUser.userRepresentation.username,
eventsTestUser.userRepresentation.credentials[0].value,
realmName,
);
await goToEvents(page);
});
test("Expand item to see more information", async ({ page }) => {
await expandRow(page, tableName, 0);
await assertRowExists(page, "token_id");
});
test("Search by user ID", async ({ page }) => {
await clickSearchPanel(page);
await assertSearchButtonDisabled(page);
await fillSearchPanel(page, {
userId: eventsTestUser.eventsTestUserId,
});
await clickSearchButton(page);
await assertSearchChipGroupItemExist(
page,
eventsTestUser.eventsTestUserId,
);
});
test("Check accessibility on user events tab", async ({ page }) => {
await assertAxeViolations(page);
});
test("Check accessibility on admin events tab", async ({ page }) => {
await goToAdminEventsTab(page);
await assertAxeViolations(page);
});
});
});