mirror of
https://github.com/keycloak/keycloak.git
synced 2026-01-10 15:32:05 -03:30
(cherry picked from commit 1f1ac2fc398fec83b1c40c3a10f8e4a4d0184406) Signed-off-by: Jon Koops <jonkoops@gmail.com>
This commit is contained in:
parent
776cc45a7c
commit
35f34bd9f1
@ -1,5 +1,5 @@
|
||||
import { test, expect } from "@playwright/test";
|
||||
import { login } from "./login";
|
||||
import { login } from "./login.ts";
|
||||
|
||||
test("Check page heading", async ({ page }) => {
|
||||
await login(page, "alice", "alice", "user-profile");
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { login } from "../login";
|
||||
import { login } from "../login.ts";
|
||||
|
||||
test.describe("Sign out test", () => {
|
||||
test("Sign out one device", async ({ browser }) => {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import ClientRepresentation from "@keycloak/keycloak-admin-client/lib/defs/clientRepresentation";
|
||||
import IdentityProviderRepresentation from "@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation";
|
||||
import { Page, expect, test } from "@playwright/test";
|
||||
import type ClientRepresentation from "@keycloak/keycloak-admin-client/lib/defs/clientRepresentation.js";
|
||||
import type IdentityProviderRepresentation from "@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation.js";
|
||||
import { type Page, expect, test } from "@playwright/test";
|
||||
|
||||
import {
|
||||
createClient,
|
||||
@ -10,9 +10,9 @@ import {
|
||||
deleteIdentityProvider,
|
||||
deleteUser,
|
||||
findClientByClientId,
|
||||
} from "../admin-client";
|
||||
import { SERVER_URL } from "../constants";
|
||||
import groupsIdPClient from "../realms/groups-idp.json" assert { type: "json" };
|
||||
} from "../admin-client.ts";
|
||||
import { SERVER_URL } from "../constants.ts";
|
||||
import groupsIdPClient from "../realms/groups-idp.json" with { type: "json" };
|
||||
|
||||
const realm = "groups";
|
||||
|
||||
|
||||
@ -5,10 +5,10 @@ import {
|
||||
deleteCredential,
|
||||
deleteRealm,
|
||||
importRealm,
|
||||
} from "../admin-client";
|
||||
import { login } from "../login";
|
||||
import groupsRealm from "../realms/groups-realm.json" assert { type: "json" };
|
||||
import RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation";
|
||||
} from "../admin-client.ts";
|
||||
import { login } from "../login.ts";
|
||||
import groupsRealm from "../realms/groups-realm.json" with { type: "json" };
|
||||
import type RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation.js";
|
||||
|
||||
const realm = "groups";
|
||||
test.describe("Signing in", () => {
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import KeycloakAdminClient from "@keycloak/keycloak-admin-client";
|
||||
import ClientRepresentation from "@keycloak/keycloak-admin-client/lib/defs/clientRepresentation";
|
||||
import IdentityProviderRepresentation from "@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation";
|
||||
import RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation";
|
||||
import type { UserProfileConfig } from "@keycloak/keycloak-admin-client/lib/defs/userProfileMetadata";
|
||||
import UserRepresentation from "@keycloak/keycloak-admin-client/lib/defs/userRepresentation";
|
||||
import type ClientRepresentation from "@keycloak/keycloak-admin-client/lib/defs/clientRepresentation.js";
|
||||
import type IdentityProviderRepresentation from "@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation.js";
|
||||
import type RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation.js";
|
||||
import type { UserProfileConfig } from "@keycloak/keycloak-admin-client/lib/defs/userProfileMetadata.js";
|
||||
import type UserRepresentation from "@keycloak/keycloak-admin-client/lib/defs/userRepresentation.js";
|
||||
|
||||
import { DEFAULT_REALM, SERVER_URL } from "./constants";
|
||||
import { DEFAULT_REALM, SERVER_URL } from "./constants.ts";
|
||||
|
||||
const adminClient = new KeycloakAdminClient({
|
||||
baseUrl: SERVER_URL,
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { login } from "./login";
|
||||
import { getAccountUrl, getAdminUrl, getRootPath } from "./utils";
|
||||
import { login } from "./login.ts";
|
||||
import { getAccountUrl, getAdminUrl, getRootPath } from "./utils.ts";
|
||||
|
||||
test.describe("Applications test", () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { test, expect } from "@playwright/test";
|
||||
import { login } from "./login";
|
||||
import { login } from "./login.ts";
|
||||
|
||||
test.describe("Groups page", () => {
|
||||
test("List my groups", async ({ page }) => {
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import type { Page } from "@playwright/test";
|
||||
|
||||
import { ADMIN_PASSWORD, ADMIN_USER, DEFAULT_REALM } from "./constants";
|
||||
import { getRootPath } from "./utils";
|
||||
import { ADMIN_PASSWORD, ADMIN_USER, DEFAULT_REALM } from "./constants.ts";
|
||||
import { getRootPath } from "./utils.ts";
|
||||
|
||||
export const login = async (
|
||||
page: Page,
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { test, expect } from "@playwright/test";
|
||||
import { login } from "./login";
|
||||
import { login } from "./login.ts";
|
||||
|
||||
test.describe("My resources page", () => {
|
||||
test.describe.configure({ mode: "serial" });
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { login } from "../login";
|
||||
import { login } from "../login.ts";
|
||||
|
||||
const realm = "verifiable-credentials";
|
||||
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
import type { UserProfileConfig } from "@keycloak/keycloak-admin-client/lib/defs/userProfileMetadata";
|
||||
import type { UserProfileConfig } from "@keycloak/keycloak-admin-client/lib/defs/userProfileMetadata.js";
|
||||
import { expect, test } from "@playwright/test";
|
||||
import {
|
||||
createRandomUserWithPassword,
|
||||
deleteUser,
|
||||
enableLocalization,
|
||||
importUserProfile,
|
||||
} from "../admin-client";
|
||||
import { login } from "../login";
|
||||
import userProfileConfig from "./user-profile.json" assert { type: "json" };
|
||||
} from "../admin-client.ts";
|
||||
import { login } from "../login.ts";
|
||||
import userProfileConfig from "./user-profile.json" with { type: "json" };
|
||||
|
||||
const realm = "user-profile";
|
||||
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation";
|
||||
import type RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation.js";
|
||||
import { test as setup } from "@playwright/test";
|
||||
|
||||
import { importRealm } from "./admin-client";
|
||||
import groupsRealm from "./realms/groups-realm.json" assert { type: "json" };
|
||||
import resourcesRealm from "./realms/resources-realm.json" assert { type: "json" };
|
||||
import userProfileRealm from "./realms/user-profile-realm.json" assert { type: "json" };
|
||||
import verifiableCredentialsRealm from "./realms/verifiable-credentials-realm.json" assert { type: "json" };
|
||||
import { importRealm } from "./admin-client.ts";
|
||||
import groupsRealm from "./realms/groups-realm.json" with { type: "json" };
|
||||
import resourcesRealm from "./realms/resources-realm.json" with { type: "json" };
|
||||
import userProfileRealm from "./realms/user-profile-realm.json" with { type: "json" };
|
||||
import verifiableCredentialsRealm from "./realms/verifiable-credentials-realm.json" with { type: "json" };
|
||||
|
||||
setup("import realm", async () => {
|
||||
await importRealm(groupsRealm as RealmRepresentation);
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { test as setup } from "@playwright/test";
|
||||
import { deleteRealm } from "./admin-client";
|
||||
import { deleteRealm } from "./admin-client.ts";
|
||||
|
||||
setup("delete realm", async () => {
|
||||
await deleteRealm("photoz");
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
|
||||
import { ADMIN_PASSWORD, ADMIN_USER, DEFAULT_REALM } from "./constants";
|
||||
import { login } from "./login";
|
||||
import { getAdminUrl } from "./utils";
|
||||
import { ADMIN_PASSWORD, ADMIN_USER, DEFAULT_REALM } from "./constants.ts";
|
||||
import { login } from "./login.ts";
|
||||
import { getAdminUrl } from "./utils.ts";
|
||||
|
||||
test.describe("Signing in with referrer link", () => {
|
||||
test("shows a referrer link when a matching client exists", async ({
|
||||
|
||||
11
js/apps/account-ui/test/tsconfig.json
Normal file
11
js/apps/account-ui/test/tsconfig.json
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
{
|
||||
"extends": "../../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"module": "NodeNext",
|
||||
"moduleResolution": "NodeNext",
|
||||
"allowImportingTsExtensions": true,
|
||||
"verbatimModuleSyntax": true,
|
||||
"erasableSyntaxOnly": true
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
import { generatePath } from "react-router-dom";
|
||||
|
||||
import { DEFAULT_REALM, ROOT_PATH, SERVER_URL } from "./constants";
|
||||
import { DEFAULT_REALM, ROOT_PATH, SERVER_URL } from "./constants.ts";
|
||||
|
||||
export function getAccountUrl() {
|
||||
return SERVER_URL + getRootPath();
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
|
||||
export async function fillDuplicateFlowModal(
|
||||
page: Page,
|
||||
@ -61,7 +61,7 @@ export async function assertRowExists(page: Page, name: string, exists = true) {
|
||||
if (exists) {
|
||||
await expect(locator).toBeVisible();
|
||||
} else {
|
||||
await expect(locator).not.toBeVisible();
|
||||
await expect(locator).toBeHidden();
|
||||
}
|
||||
}
|
||||
|
||||
@ -92,7 +92,7 @@ export async function goToCIBAPolicyTab(page: Page) {
|
||||
await page.getByTestId("tab-ciba-policy").click();
|
||||
}
|
||||
|
||||
export async function addPolicy(page: Page, value) {
|
||||
export async function addPolicy(page: Page, value: string) {
|
||||
await selectItem(page, page.getByTestId("add-policy"), value);
|
||||
}
|
||||
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { assertRequiredFieldError, clickSaveButton } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { assertRequiredFieldError, clickSaveButton } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import {
|
||||
assertAxeViolations,
|
||||
assertNotificationMessage,
|
||||
selectActionToggleItem,
|
||||
} from "../utils/masthead";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { goToAuthentication, goToRealm } from "../utils/sidebar";
|
||||
} from "../utils/masthead.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import { goToAuthentication, goToRealm } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertEmptyTable,
|
||||
clickRowKebabItem,
|
||||
clickTableRowItem,
|
||||
getRowByCellText,
|
||||
searchItem,
|
||||
} from "../utils/table";
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
addCondition,
|
||||
addExecution,
|
||||
@ -37,7 +37,7 @@ import {
|
||||
goToPoliciesTab,
|
||||
goToRequiredActions,
|
||||
goToWebAuthnTab,
|
||||
} from "./flow";
|
||||
} from "./flow.ts";
|
||||
|
||||
test.describe("Authentication test", () => {
|
||||
const realmName = `authentication-flow-${uuidv4()}`;
|
||||
@ -56,7 +56,7 @@ test.describe("Authentication test", () => {
|
||||
const itemId = "browser";
|
||||
await searchItem(page, "Search for flow", itemId);
|
||||
await expect(getRowByCellText(page, itemId)).toBeVisible();
|
||||
await expect(getRowByCellText(page, "clients")).not.toBeVisible();
|
||||
await expect(getRowByCellText(page, "clients")).toBeHidden();
|
||||
});
|
||||
|
||||
test("should create duplicate of existing flow", async ({ page }) => {
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import {
|
||||
assertFieldError,
|
||||
assertRequiredFieldError,
|
||||
clickSaveButton,
|
||||
} from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { goToAuthentication, goToRealm } from "../utils/sidebar";
|
||||
} from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { goToAuthentication, goToRealm } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertBackchannelTokenDeliveryMode,
|
||||
assertExpiresInput,
|
||||
@ -22,7 +22,7 @@ import {
|
||||
setBackchannelTokenDeliveryMode,
|
||||
setExpiresInput,
|
||||
setIntervalInput,
|
||||
} from "./policies-ciba";
|
||||
} from "./policies-ciba.ts";
|
||||
|
||||
test.describe("Authentication - Policies - CIBA", () => {
|
||||
const realmName = `authentication-policies-${uuidv4()}`;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form.ts";
|
||||
|
||||
export async function goToCIBAPolicyTab(page: Page) {
|
||||
await page.getByTestId("policies").click();
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { clickSaveButton } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { goToAuthentication, goToRealm } from "../utils/sidebar";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { clickSaveButton } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { goToAuthentication, goToRealm } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertSupportedApplications,
|
||||
fillSelects,
|
||||
@ -14,7 +14,7 @@ import {
|
||||
increaseInitialCounter,
|
||||
setPolicyType,
|
||||
setWebAuthnPolicyCreateTimeout,
|
||||
} from "./policies";
|
||||
} from "./policies.ts";
|
||||
|
||||
test.describe("OTP policies tab", () => {
|
||||
const realmName = `policies-otp-${uuid()}`;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form.ts";
|
||||
|
||||
export async function goToOTPPolicyTab(page: Page) {
|
||||
await page.getByTestId("policies").click();
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { assertSaveButtonIsDisabled, clickSaveButton } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { goToClientScopes } from "../utils/sidebar";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { assertSaveButtonIsDisabled, clickSaveButton } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import { goToClientScopes } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertRowExists,
|
||||
clickNextPageButton,
|
||||
@ -13,7 +13,7 @@ import {
|
||||
clickSelectRow,
|
||||
getTableData,
|
||||
searchItem,
|
||||
} from "../utils/table";
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
assertConsentInputIsVisible,
|
||||
assertSwitchDisplayOnConsentScreenIsChecked,
|
||||
@ -26,20 +26,20 @@ import {
|
||||
selectSecondaryFilterAssignedType,
|
||||
selectSecondaryFilterProtocol,
|
||||
switchOffDisplayOnConsentScreen,
|
||||
} from "./main";
|
||||
} from "./main.ts";
|
||||
|
||||
enum FilterAssignedType {
|
||||
AllTypes = "All types",
|
||||
Default = "Default",
|
||||
Optional = "Optional",
|
||||
None = "None",
|
||||
}
|
||||
const FilterAssignedType = {
|
||||
AllTypes: "All types",
|
||||
Default: "Default",
|
||||
Optional: "Optional",
|
||||
None: "None",
|
||||
};
|
||||
|
||||
enum FilterProtocol {
|
||||
All = "All",
|
||||
SAML = "SAML",
|
||||
OpenID = "OpenID Connect",
|
||||
}
|
||||
const FilterProtocol = {
|
||||
All: "All",
|
||||
SAML: "SAML",
|
||||
OpenID: "OpenID Connect",
|
||||
};
|
||||
|
||||
test.describe("Client Scopes test", () => {
|
||||
const clientScopeName = "client-scope-test";
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { assertSwitchIsChecked, selectItem, switchOff } from "../utils/form";
|
||||
import { clickTableToolbarItem, getTableData } from "../utils/table";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { assertSwitchIsChecked, selectItem, switchOff } from "../utils/form.ts";
|
||||
import { clickTableToolbarItem, getTableData } from "../utils/table.ts";
|
||||
|
||||
export async function selectClientScopeFilter(page: Page, value: string) {
|
||||
await page.getByTestId("clientScopeSearch").click();
|
||||
@ -79,7 +79,7 @@ export async function assertSwitchDisplayOnConsentScreenIsChecked(page: Page) {
|
||||
|
||||
export async function assertConsentInputIsVisible(page: Page, not = false) {
|
||||
if (not) {
|
||||
await expect(getConsentScreenTextInput(page)).not.toBeVisible();
|
||||
await expect(getConsentScreenTextInput(page)).toBeHidden();
|
||||
} else {
|
||||
await expect(getConsentScreenTextInput(page)).toBeVisible();
|
||||
}
|
||||
|
||||
@ -1,10 +1,14 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import { clickCancelButton, clickSaveButton } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { goToClientScopes } from "../utils/sidebar";
|
||||
import { assertRowExists, clickTableRowItem, searchItem } from "../utils/table";
|
||||
import { clickCancelButton, clickSaveButton } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { goToClientScopes } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertRowExists,
|
||||
clickTableRowItem,
|
||||
searchItem,
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
addMappersByConfiguration,
|
||||
addPredefinedMappers,
|
||||
@ -13,8 +17,8 @@ import {
|
||||
fillMapperDetails,
|
||||
goToMappersTab,
|
||||
removeMappers,
|
||||
} from "./mappers";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
} from "./mappers.ts";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
|
||||
test.describe("Mappers tab test", () => {
|
||||
const placeHolderClientScope = "Search for client scope";
|
||||
|
||||
@ -1,25 +1,25 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import {
|
||||
assertSelectValue,
|
||||
clickCancelButton,
|
||||
clickSaveButton,
|
||||
selectItem,
|
||||
} from "../utils/form";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
} from "../utils/form.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import {
|
||||
assertRowExists,
|
||||
clickRowKebabItem,
|
||||
clickSelectRow,
|
||||
} from "../utils/table";
|
||||
} from "../utils/table.ts";
|
||||
|
||||
export enum ClaimJsonType {
|
||||
String = "String",
|
||||
Long = "long",
|
||||
Int = "int",
|
||||
Boolean = "boolean",
|
||||
Json = "JSON",
|
||||
}
|
||||
export const ClaimJsonType = {
|
||||
String: "String",
|
||||
Long: "long",
|
||||
Int: "int",
|
||||
Boolean: "boolean",
|
||||
Json: "JSON",
|
||||
};
|
||||
|
||||
export async function goToMappersTab(page: Page) {
|
||||
await page.getByTestId("mappers").click();
|
||||
@ -74,7 +74,7 @@ export async function fillMapperDetails(
|
||||
page: Page,
|
||||
userAttribute: string,
|
||||
tokenClaimName: string,
|
||||
jsonType: ClaimJsonType,
|
||||
jsonType: string,
|
||||
) {
|
||||
await getUserAttribute(page).fill(userAttribute);
|
||||
await getClaimName(page).fill(tokenClaimName);
|
||||
@ -85,7 +85,7 @@ export async function assertMapperConfigurationValues(
|
||||
page: Page,
|
||||
userAttribute: string,
|
||||
tokenClaimName: string,
|
||||
jsonType: ClaimJsonType,
|
||||
jsonType: string,
|
||||
) {
|
||||
await expect(getUserAttribute(page)).toHaveValue(userAttribute);
|
||||
await expect(getClaimName(page)).toHaveValue(tokenClaimName);
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { assertModalTitle, confirmModal } from "../utils/modal";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { assertModalTitle, confirmModal } from "../utils/modal.ts";
|
||||
import {
|
||||
changeRoleTypeFilter,
|
||||
clickHideInheritedRoles,
|
||||
clickUnassign,
|
||||
confirmModalAssign,
|
||||
pickRole,
|
||||
} from "../utils/roles";
|
||||
import { goToClientScopes } from "../utils/sidebar";
|
||||
} from "../utils/roles.ts";
|
||||
import { goToClientScopes } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertEmptyTable,
|
||||
assertRowExists,
|
||||
@ -19,8 +19,8 @@ import {
|
||||
clickTableRowItem,
|
||||
getTableData,
|
||||
searchItem,
|
||||
} from "../utils/table";
|
||||
import { assignRole, goToScopeTab } from "./scope";
|
||||
} from "../utils/table.ts";
|
||||
import { assignRole, goToScopeTab } from "./scope.ts";
|
||||
|
||||
test.describe("Scope tab test", () => {
|
||||
const scopeName = `client-scope-mapper-${uuidv4()}`;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import type { Page } from "@playwright/test";
|
||||
|
||||
export async function goToScopeTab(page: Page) {
|
||||
await page.getByTestId("scopeTab").click();
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar";
|
||||
import { assertEmptyTable, clickTableRowItem } from "../utils/table";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar.ts";
|
||||
import { assertEmptyTable, clickTableRowItem } from "../utils/table.ts";
|
||||
import {
|
||||
assertAccessTokenSignatureAlgorithm,
|
||||
assertAdvancedSwitchesOn,
|
||||
@ -32,7 +32,7 @@ import {
|
||||
switchOffExcludeSessionStateSwitch,
|
||||
saveAuthFlowOverride,
|
||||
revertAuthFlowOverride,
|
||||
} from "./advanced";
|
||||
} from "./advanced.ts";
|
||||
|
||||
test.describe("Advanced tab test", () => {
|
||||
const clientId = `advanced-tab-${uuidv4()}`;
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import {
|
||||
assertSelectValue,
|
||||
selectItem,
|
||||
switchOff,
|
||||
switchOn,
|
||||
} from "../utils/form";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { clickRowKebabItem } from "../utils/table";
|
||||
} from "../utils/form.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import { clickRowKebabItem } from "../utils/table.ts";
|
||||
|
||||
export async function goToAdvancedTab(page: Page) {
|
||||
await page.getByTestId("advancedTab").click();
|
||||
|
||||
@ -1,13 +1,17 @@
|
||||
import { test } from "@playwright/test";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { clickSaveButton } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { clickSaveButton } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import {
|
||||
assertAxeViolations,
|
||||
assertNotificationMessage,
|
||||
} from "../utils/masthead";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar";
|
||||
import { assertRowExists, clickTableRowItem, searchItem } from "../utils/table";
|
||||
} from "../utils/masthead.ts";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertRowExists,
|
||||
clickTableRowItem,
|
||||
searchItem,
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
assertClipboardHasText,
|
||||
assertDefaultResource,
|
||||
@ -29,7 +33,7 @@ import {
|
||||
inputClient,
|
||||
selectResource,
|
||||
setPolicy,
|
||||
} from "./authorization";
|
||||
} from "./authorization.ts";
|
||||
|
||||
test.use({
|
||||
permissions: ["clipboard-write", "clipboard-read"],
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import ResourceRepresentation from "@keycloak/keycloak-admin-client/lib/defs/resourceRepresentation";
|
||||
import ScopeRepresentation from "@keycloak/keycloak-admin-client/lib/defs/scopeRepresentation";
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { clickRowKebabItem, getRowByCellText } from "../utils/table";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import PolicyRepresentation from "@keycloak/keycloak-admin-client/lib/defs/policyRepresentation";
|
||||
import type ResourceRepresentation from "@keycloak/keycloak-admin-client/lib/defs/resourceRepresentation.js";
|
||||
import type ScopeRepresentation from "@keycloak/keycloak-admin-client/lib/defs/scopeRepresentation.js";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { clickRowKebabItem, getRowByCellText } from "../utils/table.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import type PolicyRepresentation from "@keycloak/keycloak-admin-client/lib/defs/policyRepresentation.js";
|
||||
|
||||
export async function goToAuthorizationTab(page: Page) {
|
||||
await page.getByTestId("authorizationTab").click();
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { assertRequiredFieldError } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar";
|
||||
import { searchItem } from "../utils/table";
|
||||
import { continueNext, createClient, save } from "./utils";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { assertRequiredFieldError } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar.ts";
|
||||
import { searchItem } from "../utils/table.ts";
|
||||
import { continueNext, createClient, save } from "./utils.ts";
|
||||
|
||||
test.describe("Clients details test", () => {
|
||||
const realmName = `clients-details-realm-${uuid()}`;
|
||||
|
||||
14
js/apps/admin-ui/test/clients/details.ts
Normal file
14
js/apps/admin-ui/test/clients/details.ts
Normal file
@ -0,0 +1,14 @@
|
||||
import type { Page } from "@playwright/test";
|
||||
import { selectItem, assertSelectValue } from "../utils/form.ts";
|
||||
|
||||
function getKeyForCodeExchangeInput(page: Page) {
|
||||
return page.locator("#keyForCodeExchange");
|
||||
}
|
||||
|
||||
export async function selectKeyForCodeExchangeInput(page: Page, value: string) {
|
||||
await selectItem(page, getKeyForCodeExchangeInput(page), value);
|
||||
}
|
||||
|
||||
export async function assertKeyForCodeExchangeInput(page: Page, value: string) {
|
||||
await assertSelectValue(getKeyForCodeExchangeInput(page), value);
|
||||
}
|
||||
@ -1,10 +1,10 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { clickSaveButton } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { assertModalTitle, confirmModal } from "../utils/modal";
|
||||
import { goToClients } from "../utils/sidebar";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { clickSaveButton } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { assertModalTitle, confirmModal } from "../utils/modal.ts";
|
||||
import { goToClients } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertNoResults,
|
||||
clearAllFilters,
|
||||
@ -12,7 +12,7 @@ import {
|
||||
clickTableToolbarItem,
|
||||
getTableData,
|
||||
searchItem,
|
||||
} from "../utils/table";
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
assertClipboardContent,
|
||||
assertCountValue,
|
||||
@ -24,7 +24,7 @@ import {
|
||||
fillNewTokenData,
|
||||
goToCreateFromEmptyList,
|
||||
goToInitialAccessTokenTab,
|
||||
} from "./initial-access";
|
||||
} from "./initial-access.ts";
|
||||
|
||||
test.use({
|
||||
permissions: ["clipboard-write", "clipboard-read"],
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { assertFieldError } from "../utils/form";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { assertFieldError } from "../utils/form.ts";
|
||||
|
||||
export async function goToInitialAccessTokenTab(page: Page) {
|
||||
await page.getByTestId("initialAccessToken").click();
|
||||
@ -14,7 +14,7 @@ export async function assertInitialAccessTokensIsEmpty(page: Page) {
|
||||
export async function assertInitialAccessTokensIsNotEmpty(page: Page) {
|
||||
await expect(
|
||||
page.getByTestId("no-initial-access-tokens-empty-action"),
|
||||
).not.toBeVisible();
|
||||
).toBeHidden();
|
||||
}
|
||||
|
||||
export async function goToCreateFromEmptyList(page: Page) {
|
||||
|
||||
@ -1,25 +1,25 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import path from "path";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { assertRequiredFieldError } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { assertModalTitle, confirmModal } from "../utils/modal";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { assertRequiredFieldError } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { assertModalTitle, confirmModal } from "../utils/modal.ts";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar.ts";
|
||||
import {
|
||||
clearAllFilters,
|
||||
clickRowKebabItem,
|
||||
getRowByCellText,
|
||||
searchItem,
|
||||
} from "../utils/table";
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
cancel,
|
||||
clientCapabilityConfig,
|
||||
continueNext,
|
||||
createClient,
|
||||
save,
|
||||
} from "./utils";
|
||||
} from "./utils.ts";
|
||||
|
||||
test.describe("Clients test", () => {
|
||||
const realmName = `clients-realm-${uuid()}`;
|
||||
|
||||
@ -1,20 +1,20 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { clickCancelButton, clickSaveButton } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { clickCancelButton, clickSaveButton } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import {
|
||||
assertAxeViolations,
|
||||
assertNotificationMessage,
|
||||
} from "../utils/masthead";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar";
|
||||
} from "../utils/masthead.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertRowExists,
|
||||
clickRowKebabItem,
|
||||
clickTableRowItem,
|
||||
getTableData,
|
||||
} from "../utils/table";
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
clickCreateAnonymousPolicy,
|
||||
clickCreateAuthenticatedPolicy,
|
||||
@ -22,7 +22,7 @@ import {
|
||||
fillPolicyForm,
|
||||
goToAuthenticatedSubTab,
|
||||
goToClientRegistrationTab,
|
||||
} from "./registration-policies";
|
||||
} from "./registration-policies.ts";
|
||||
|
||||
test.describe("Client registration policies tab", () => {
|
||||
const tabName = "Client registration";
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import type { Page } from "@playwright/test";
|
||||
|
||||
export async function goToClientRegistrationTab(page: Page) {
|
||||
await page.getByTestId("registration").click();
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import {
|
||||
assertAttributeLength,
|
||||
clickAttributeSaveButton,
|
||||
deleteAttribute,
|
||||
fillAttributeData,
|
||||
goToAttributesTab,
|
||||
} from "../utils/attributes";
|
||||
import { assertRequiredFieldError, clickSaveButton } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
} from "../utils/attributes.ts";
|
||||
import { assertRequiredFieldError, clickSaveButton } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import {
|
||||
assertNotificationMessage,
|
||||
selectActionToggleItem,
|
||||
} from "../utils/masthead";
|
||||
import { assertModalTitle, confirmModal } from "../utils/modal";
|
||||
import { clickUnassign } from "../utils/roles";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar";
|
||||
} from "../utils/masthead.ts";
|
||||
import { assertModalTitle, confirmModal } from "../utils/modal.ts";
|
||||
import { clickUnassign } from "../utils/roles.ts";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertNoResults,
|
||||
assertRowExists,
|
||||
@ -25,7 +25,7 @@ import {
|
||||
clickSelectRow,
|
||||
clickTableRowItem,
|
||||
searchItem,
|
||||
} from "../utils/table";
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
addAssociatedRoles,
|
||||
assertDescriptionValue,
|
||||
@ -34,7 +34,7 @@ import {
|
||||
goToCreateRole,
|
||||
goToCreateRoleFromEmptyState,
|
||||
goToRolesTab,
|
||||
} from "./role";
|
||||
} from "./role.ts";
|
||||
|
||||
test.describe("Roles tab test", () => {
|
||||
const realmName = `clients-realm-${uuid()}`;
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
import { expect, Page } from "@playwright/test";
|
||||
import { expect, type Page } from "@playwright/test";
|
||||
import {
|
||||
changeRoleTypeFilter,
|
||||
confirmModalAssign,
|
||||
pickRole,
|
||||
RoleType,
|
||||
} from "../utils/roles";
|
||||
type RoleType,
|
||||
} from "../utils/roles.ts";
|
||||
|
||||
export async function goToRolesTab(page: Page) {
|
||||
await page.getByTestId("rolesTab").click();
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { switchOff, switchOn } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { assertModalTitle, cancelModal, confirmModal } from "../utils/modal";
|
||||
import { goToClients } from "../utils/sidebar";
|
||||
import { clickTableRowItem } from "../utils/table";
|
||||
import { goToAdvancedTab, revertFineGrain, saveFineGrain } from "./advanced";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { switchOff, switchOn } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { assertModalTitle, cancelModal, confirmModal } from "../utils/modal.ts";
|
||||
import { goToClients } from "../utils/sidebar.ts";
|
||||
import { clickTableRowItem } from "../utils/table.ts";
|
||||
import { goToAdvancedTab, revertFineGrain, saveFineGrain } from "./advanced.ts";
|
||||
import {
|
||||
assertCertificate,
|
||||
assertNameIdFormatDropdown,
|
||||
@ -20,7 +20,7 @@ import {
|
||||
goToKeysTab,
|
||||
saveSamlSettings,
|
||||
setTermsOfServiceUrl,
|
||||
} from "./saml";
|
||||
} from "./saml.ts";
|
||||
|
||||
test.describe("Fine Grain SAML Endpoint Configuration", () => {
|
||||
const clientName = `saml-advanced-tab-${uuid()}`;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { selectItem, switchOff, switchOn } from "../utils/form";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { selectItem, switchOff, switchOn } from "../utils/form.ts";
|
||||
|
||||
function getTermsOfServiceUrl(page: Page) {
|
||||
return page.getByTestId("attributes.tosUri");
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { selectChangeType } from "../client-scope/main";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { assertModalTitle, confirmModal } from "../utils/modal";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { selectChangeType } from "../client-scope/main.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { assertModalTitle, confirmModal } from "../utils/modal.ts";
|
||||
import { goToClients, goToRealm } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertEmptyTable,
|
||||
assertRowExists,
|
||||
@ -16,7 +16,7 @@ import {
|
||||
clickTableToolbarItem,
|
||||
getTableData,
|
||||
searchItem,
|
||||
} from "../utils/table";
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
assertHasAccessTokenGenerated,
|
||||
assertHasIdTokenGenerated,
|
||||
@ -31,7 +31,7 @@ import {
|
||||
goToClientScopesTab,
|
||||
goToGenerateAccessTokenTab,
|
||||
selectUser,
|
||||
} from "./scope";
|
||||
} from "./scope.ts";
|
||||
|
||||
type ClientScope = {
|
||||
name: string;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { clickTableToolbarItem } from "../utils/table";
|
||||
import { selectItem } from "../utils/form";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { clickTableToolbarItem } from "../utils/table.ts";
|
||||
import { selectItem } from "../utils/form.ts";
|
||||
|
||||
export async function goToClientScopesTab(page: Page) {
|
||||
await page.getByTestId("clientScopesTab").click();
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import ClientRepresentation from "@keycloak/keycloak-admin-client/lib/defs/clientRepresentation";
|
||||
import { Page } from "@playwright/test";
|
||||
import type ClientRepresentation from "@keycloak/keycloak-admin-client/lib/defs/clientRepresentation.js";
|
||||
import type { Page } from "@playwright/test";
|
||||
|
||||
export async function createClient(
|
||||
page: Page,
|
||||
|
||||
@ -1,10 +1,14 @@
|
||||
import { Page, test } from "@playwright/test";
|
||||
import { type 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 adminClient from "../utils/AdminClient.ts";
|
||||
import { login, logout } from "../utils/login.ts";
|
||||
import { assertAxeViolations } from "../utils/masthead.ts";
|
||||
import { goToEvents, goToRealm } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertEmptyTable,
|
||||
assertRowExists,
|
||||
expandRow,
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
assertSearchButtonDisabled,
|
||||
assertSearchChipGroupItemExist,
|
||||
@ -14,7 +18,7 @@ import {
|
||||
fillSearchPanel,
|
||||
goToAdminEventsTab,
|
||||
goToEventsConfig,
|
||||
} from "./list";
|
||||
} from "./list.ts";
|
||||
|
||||
test.describe("Events tests", () => {
|
||||
const tableName = "Events";
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { selectItem, switchOn } from "../utils/form";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { selectItem, switchOn } from "../utils/form.ts";
|
||||
|
||||
export async function goToEventsConfig(page: Page) {
|
||||
await page.getByRole("link", { name: "Event configs" }).click();
|
||||
@ -51,7 +51,7 @@ export async function assertSearchButtonDisabled(page: Page, disabled = true) {
|
||||
if (disabled) {
|
||||
await expect(page.getByTestId("search-events-btn")).toBeDisabled();
|
||||
} else {
|
||||
await expect(page.getByTestId("search-events-btn")).not.toBeDisabled();
|
||||
await expect(page.getByTestId("search-events-btn")).toBeEnabled();
|
||||
}
|
||||
}
|
||||
|
||||
@ -68,7 +68,7 @@ export async function assertSearchChipGroupItemExist(
|
||||
if (exist) {
|
||||
await expect(locator).toHaveText(`User ID${itemName}`);
|
||||
} else {
|
||||
await expect(locator).not.toBeVisible();
|
||||
await expect(locator).toBeHidden();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import {
|
||||
assertAttributeLength,
|
||||
clickAttributeSaveButton,
|
||||
deleteAttribute,
|
||||
fillAttributeData,
|
||||
goToAttributesTab,
|
||||
} from "../utils/attributes";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { goToGroups } from "../utils/sidebar";
|
||||
import { goToGroupDetails } from "./util";
|
||||
} from "../utils/attributes.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { goToGroups } from "../utils/sidebar.ts";
|
||||
import { goToGroupDetails } from "./util.ts";
|
||||
|
||||
test.describe("Attributes", () => {
|
||||
const groupName = `group-${uuid()}`;
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import {
|
||||
assertAxeViolations,
|
||||
assertNotificationMessage,
|
||||
selectActionToggleItem,
|
||||
} from "../utils/masthead";
|
||||
import { cancelModal, confirmModal } from "../utils/modal";
|
||||
import { goToGroups } from "../utils/sidebar";
|
||||
} from "../utils/masthead.ts";
|
||||
import { cancelModal, confirmModal } from "../utils/modal.ts";
|
||||
import { goToGroups } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertNoResults,
|
||||
assertRowExists,
|
||||
@ -16,9 +16,9 @@ import {
|
||||
clickSelectRow,
|
||||
clickTableToolbarItem,
|
||||
searchItem,
|
||||
} from "../utils/table";
|
||||
import { createGroup, renameGroup, searchGroup } from "./list";
|
||||
import { goToGroupDetails } from "./util";
|
||||
} from "../utils/table.ts";
|
||||
import { createGroup, renameGroup, searchGroup } from "./list.ts";
|
||||
import { goToGroupDetails } from "./util.ts";
|
||||
|
||||
test.describe("Group test", () => {
|
||||
const groupName = `group-${uuid()}`;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import type { Page } from "@playwright/test";
|
||||
|
||||
export async function createGroup(
|
||||
page: Page,
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
import { test } from "@playwright/test";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { cancelModal } from "../utils/modal";
|
||||
import { goToGroups } from "../utils/sidebar";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { cancelModal } from "../utils/modal.ts";
|
||||
import { goToGroups } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertRowExists,
|
||||
clickRowKebabItem,
|
||||
clickSelectRow,
|
||||
clickTableRowItem,
|
||||
} from "../utils/table";
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
addMember,
|
||||
goToMembersTab,
|
||||
leaveGroup,
|
||||
toggleIncludeSubGroupUsers,
|
||||
} from "./members";
|
||||
import { goToChildGroupsTab } from "./util";
|
||||
} from "./members.ts";
|
||||
import { goToChildGroupsTab } from "./util.ts";
|
||||
|
||||
test.describe("Members", () => {
|
||||
const predefinedGroups = ["level", "level1", "level2", "level3"];
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import { clickSelectRow, clickTableToolbarItem } from "../utils/table";
|
||||
import type { Page } from "@playwright/test";
|
||||
import { clickSelectRow, clickTableToolbarItem } from "../utils/table.ts";
|
||||
|
||||
export async function goToMembersTab(page: Page) {
|
||||
await page.getByTestId("members").click();
|
||||
|
||||
@ -1,23 +1,23 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import {
|
||||
changeRoleTypeFilter,
|
||||
clickHideInheritedRoles,
|
||||
clickUnassign,
|
||||
confirmModalAssign,
|
||||
pickRole,
|
||||
} from "../utils/roles";
|
||||
import { goToGroups } from "../utils/sidebar";
|
||||
} from "../utils/roles.ts";
|
||||
import { goToGroups } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertEmptyTable,
|
||||
assertRowExists,
|
||||
clickTableRowItem,
|
||||
} from "../utils/table";
|
||||
import { assignRole, goToRoleMappingTab } from "./role";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
} from "../utils/table.ts";
|
||||
import { assignRole, goToRoleMappingTab } from "./role.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
|
||||
test.describe("Role mappings", () => {
|
||||
const predefinedGroup = "group1";
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import type { Page } from "@playwright/test";
|
||||
|
||||
export async function goToRoleMappingTab(page: Page) {
|
||||
await page.getByTestId("role-mapping-tab").click();
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import { clickTableRowItem } from "../utils/table";
|
||||
import type { Page } from "@playwright/test";
|
||||
import { clickTableRowItem } from "../utils/table.ts";
|
||||
|
||||
export async function goToGroupDetails(page: Page, name: string) {
|
||||
await clickTableRowItem(page, name);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
|
||||
const SERVER_URL = "http://localhost:8080";
|
||||
const discoveryUrl = `${SERVER_URL}/realms/master/.well-known/openid-configuration`;
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { switchOff, switchOn } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { goToIdentityProviders } from "../utils/sidebar";
|
||||
import { clickTableRowItem } from "../utils/table";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { switchOff, switchOn } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { goToIdentityProviders } from "../utils/sidebar.ts";
|
||||
import { clickTableRowItem } from "../utils/table.ts";
|
||||
import {
|
||||
addMapper,
|
||||
assertAuthorizationUrl,
|
||||
@ -20,7 +20,7 @@ import {
|
||||
createOIDCProvider,
|
||||
goToMappersTab,
|
||||
setUrl,
|
||||
} from "./main";
|
||||
} from "./main.ts";
|
||||
|
||||
test.describe("OIDC identity provider test", () => {
|
||||
const oidcProviderName = "oidc";
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { goToIdentityProviders } from "../utils/sidebar";
|
||||
import { clickTableRowItem } from "../utils/table";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { goToIdentityProviders } from "../utils/sidebar.ts";
|
||||
import { clickTableRowItem } from "../utils/table.ts";
|
||||
import {
|
||||
addAuthConstraints,
|
||||
addMapper,
|
||||
@ -12,8 +12,8 @@ import {
|
||||
clickSaveMapper,
|
||||
createSAMLProvider,
|
||||
goToMappersTab,
|
||||
} from "./main";
|
||||
import { editSAMLSettings } from "./saml";
|
||||
} from "./main.ts";
|
||||
import { editSAMLSettings } from "./saml.ts";
|
||||
|
||||
test.describe("SAML identity provider test", () => {
|
||||
const samlProviderName = "saml";
|
||||
|
||||
@ -1,10 +1,14 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { selectItem, switchOff, switchOn } from "../utils/form";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { goToIdentityProviders } from "../utils/sidebar";
|
||||
import { clickTableRowItem } from "../utils/table";
|
||||
import { assertInvalidUrlNotification, clickSaveButton, setUrl } from "./main";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { selectItem, switchOff, switchOn } from "../utils/form.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import { goToIdentityProviders } from "../utils/sidebar.ts";
|
||||
import { clickTableRowItem } from "../utils/table.ts";
|
||||
import {
|
||||
assertInvalidUrlNotification,
|
||||
clickSaveButton,
|
||||
setUrl,
|
||||
} from "./main.ts";
|
||||
|
||||
export async function editSAMLSettings(page: Page, samlProviderName: string) {
|
||||
// Toggle provider state
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { expect, 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 { goToClients } from "../utils/sidebar";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login, logout } from "../utils/login.ts";
|
||||
import { assertAxeViolations } from "../utils/masthead.ts";
|
||||
import { goToClients } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertIsDesktopView,
|
||||
assertIsMobileView,
|
||||
@ -14,7 +14,7 @@ import {
|
||||
toggleGlobalHelp,
|
||||
toggleMobileViewHelp,
|
||||
toggleUsernameDropdown,
|
||||
} from "./main";
|
||||
} from "./main.ts";
|
||||
|
||||
test.describe("Masthead tests", () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
@ -59,7 +59,7 @@ test.describe("Masthead tests", () => {
|
||||
await expect(page.locator(helpLabel)).toBeVisible();
|
||||
await clickGlobalHelp(page);
|
||||
await toggleGlobalHelp(page);
|
||||
await expect(page.locator(helpLabel)).not.toBeVisible();
|
||||
await expect(page.locator(helpLabel)).toBeHidden();
|
||||
await toggleGlobalHelp(page);
|
||||
await expect(page.locator(helpLabel)).toBeVisible();
|
||||
});
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
|
||||
function getMobileUserDropdownSelector(page: Page) {
|
||||
return page.getByTestId("options-kebab-toggle");
|
||||
@ -25,13 +25,13 @@ export async function goToAccountManagement(page: Page) {
|
||||
}
|
||||
|
||||
export async function assertIsMobileView(page: Page) {
|
||||
await expect(getUserDropdownSelector(page)).not.toBeVisible();
|
||||
await expect(getUserDropdownSelector(page)).toBeHidden();
|
||||
await expect(getMobileUserDropdownSelector(page)).toBeVisible();
|
||||
}
|
||||
|
||||
export async function assertIsDesktopView(page: Page) {
|
||||
await expect(getUserDropdownSelector(page)).toBeVisible();
|
||||
await expect(getMobileUserDropdownSelector(page)).not.toBeVisible();
|
||||
await expect(getMobileUserDropdownSelector(page)).toBeHidden();
|
||||
}
|
||||
|
||||
export async function toggleUsernameDropdown(page: Page) {
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { assertRequiredFieldError, switchOff } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { assertRequiredFieldError, switchOff } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import {
|
||||
assertNotificationMessage,
|
||||
selectActionToggleItem,
|
||||
} from "../utils/masthead";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { goToClients, goToRealmSettings } from "../utils/sidebar";
|
||||
import { assertRowExists } from "../utils/table";
|
||||
} from "../utils/masthead.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import { goToClients, goToRealmSettings } from "../utils/sidebar.ts";
|
||||
import { assertRowExists } from "../utils/table.ts";
|
||||
import {
|
||||
assertCurrentRealm,
|
||||
clickClearResourceFile,
|
||||
@ -18,7 +18,7 @@ import {
|
||||
clickCreateRealmForm,
|
||||
fillRealmName,
|
||||
goToRealmSection,
|
||||
} from "./realm";
|
||||
} from "./realm.ts";
|
||||
|
||||
const testRealmName = `Test-realm-${uuid()}`;
|
||||
const newRealmName = `New-Test-realm-${uuid()}`;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { goToRealm, goToRealms } from "../utils/sidebar";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { goToRealm, goToRealms } from "../utils/sidebar.ts";
|
||||
|
||||
function getCurrentRealmItem(page: Page) {
|
||||
return page.getByTestId("currentRealm");
|
||||
|
||||
@ -1,20 +1,20 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { goToOrganizations, goToRealm } from "../utils/sidebar";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import { goToOrganizations, goToRealm } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertEmptyTable,
|
||||
assertRowExists,
|
||||
clickTableRowItem,
|
||||
} from "../utils/table";
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
clickAddIdentityProvider,
|
||||
fillForm,
|
||||
goToIdentityProviders,
|
||||
} from "./idp";
|
||||
} from "./idp.ts";
|
||||
|
||||
test.describe("Identity providers", () => {
|
||||
const realmName = `organization-idp-${uuid()}`;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form";
|
||||
import type { Page } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form.ts";
|
||||
|
||||
export async function goToIdentityProviders(page: Page) {
|
||||
await page.getByTestId("identityProvidersTab").click();
|
||||
|
||||
@ -1,25 +1,25 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { assertSaveButtonIsDisabled, clickSaveButton } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { assertSaveButtonIsDisabled, clickSaveButton } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import {
|
||||
assertNotificationMessage,
|
||||
selectActionToggleItem,
|
||||
} from "../utils/masthead";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { goToOrganizations, goToRealm } from "../utils/sidebar";
|
||||
} from "../utils/masthead.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import { goToOrganizations, goToRealm } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertRowExists,
|
||||
clickRowKebabItem,
|
||||
clickTableRowItem,
|
||||
} from "../utils/table";
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
fillCreatePage,
|
||||
fillNameField,
|
||||
getNameField,
|
||||
goToCreate,
|
||||
} from "./main";
|
||||
} from "./main.ts";
|
||||
|
||||
test.describe("Organization CRUD", () => {
|
||||
const realmName = `organization-${uuid()}`;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import type { Page } from "@playwright/test";
|
||||
|
||||
export async function goToCreate(page: Page, empty: boolean = true) {
|
||||
await page
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { clickAdd } from "../utils/modal";
|
||||
import { goToOrganizations, goToRealm } from "../utils/sidebar";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { clickAdd } from "../utils/modal.ts";
|
||||
import { goToOrganizations, goToRealm } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertRowExists,
|
||||
clickSelectRow,
|
||||
clickTableRowItem,
|
||||
} from "../utils/table";
|
||||
import { clickAddRealmUser, goToMembersTab } from "./members";
|
||||
} from "../utils/table.ts";
|
||||
import { clickAddRealmUser, goToMembersTab } from "./members.ts";
|
||||
|
||||
test.describe("Members", () => {
|
||||
const realmName = `organization-members-${uuid()}`;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import type { Page } from "@playwright/test";
|
||||
|
||||
export async function goToMembersTab(page: Page) {
|
||||
await page.getByTestId("membersTab").click();
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { clickSaveButton, selectItem } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { goToRealm } from "../utils/sidebar";
|
||||
import { assertRowExists } from "../utils/table";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { clickSaveButton, selectItem } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { goToRealm } from "../utils/sidebar.ts";
|
||||
import { assertRowExists } from "../utils/table.ts";
|
||||
import {
|
||||
clickCreateNewPolicy,
|
||||
clickCreatePermission,
|
||||
@ -19,8 +19,8 @@ import {
|
||||
pickGroup,
|
||||
removeGroup,
|
||||
selectResource,
|
||||
} from "./main";
|
||||
import { fillPolicyForm, goToPolicies } from "./policy";
|
||||
} from "./main.ts";
|
||||
import { fillPolicyForm, goToPolicies } from "./policy.ts";
|
||||
|
||||
test.describe("Permissions section tests", () => {
|
||||
const realmName = `permissions-${uuid()}`;
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import PolicyRepresentation from "@keycloak/keycloak-admin-client/lib/defs/policyRepresentation";
|
||||
import { Page } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { clickRowKebabItem } from "../utils/table";
|
||||
import type PolicyRepresentation from "@keycloak/keycloak-admin-client/lib/defs/policyRepresentation.js";
|
||||
import type { Page } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import { clickRowKebabItem } from "../utils/table.ts";
|
||||
|
||||
type PermissionForm = PolicyRepresentation & {
|
||||
enforcementMode?: "allResources" | "specificResources";
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
import test from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { clickSaveButton } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { goToRealm } from "../utils/sidebar";
|
||||
import { goToPermissions } from "./main";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { clickSaveButton } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { goToRealm } from "../utils/sidebar.ts";
|
||||
import { goToPermissions } from "./main.ts";
|
||||
import {
|
||||
clickCreateNewPolicy,
|
||||
clickPolicyType,
|
||||
fillPolicyForm,
|
||||
goToPolicies,
|
||||
} from "./policy";
|
||||
} from "./policy.ts";
|
||||
|
||||
test.describe("Policy section tests", () => {
|
||||
const realmName = `permissions-policy-${uuid()}`;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form";
|
||||
import type { Page } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form.ts";
|
||||
|
||||
export async function clickCreateNewPolicy(page: Page) {
|
||||
await page.getByTestId("no-policies-empty-action").click();
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import { assertAxeViolations } from "../utils/masthead";
|
||||
import { goToRealm, goToRealmRoles } from "../utils/sidebar";
|
||||
import { clickTableRowItem } from "../utils/table";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertAxeViolations } from "../utils/masthead.ts";
|
||||
import { goToRealm, goToRealmRoles } from "../utils/sidebar.ts";
|
||||
import { clickTableRowItem } from "../utils/table.ts";
|
||||
|
||||
test.describe("Accessibility tests for realm roles", () => {
|
||||
const realmName = "role-a11y-" + uuid();
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import { fillRoleData } from "../clients/role";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { fillRoleData } from "../clients/role.ts";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import {
|
||||
assertAttribute,
|
||||
assertAttributeLength,
|
||||
@ -9,22 +9,22 @@ import {
|
||||
deleteAttribute,
|
||||
fillAttributeData,
|
||||
goToAttributesTab,
|
||||
} from "../utils/attributes";
|
||||
} from "../utils/attributes.ts";
|
||||
import {
|
||||
assertRequiredFieldError,
|
||||
clickCancelButton,
|
||||
clickSaveButton,
|
||||
} from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
} from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import {
|
||||
changeRoleTypeFilter,
|
||||
clickUnassign,
|
||||
confirmModalAssign,
|
||||
pickRole,
|
||||
} from "../utils/roles";
|
||||
import { goToRealm, goToRealmRoles } from "../utils/sidebar";
|
||||
} from "../utils/roles.ts";
|
||||
import { goToRealm, goToRealmRoles } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertEmptyTable,
|
||||
assertNoResults,
|
||||
@ -32,14 +32,14 @@ import {
|
||||
clickRowKebabItem,
|
||||
clickTableRowItem,
|
||||
searchItem,
|
||||
} from "../utils/table";
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
assertUnassignDisabled,
|
||||
assignRole,
|
||||
clickAddRoleButton,
|
||||
clickCreateRoleButton,
|
||||
goToAssociatedRolesTab,
|
||||
} from "./main";
|
||||
} from "./main.ts";
|
||||
|
||||
test.describe("Realm roles test", () => {
|
||||
const realmName = `realm-roles-${uuid()}`;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
|
||||
export async function clickCreateRoleButton(page: Page) {
|
||||
await page.locator("text=Create role").click();
|
||||
|
||||
@ -1,17 +1,20 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import { assertAxeViolations } from "../utils/masthead";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar";
|
||||
import { goToRealmEventsTab } from "./events";
|
||||
import { goToAddProviders, goToKeys } from "./keys";
|
||||
import { goToLoginTab } from "./login";
|
||||
import { goToLocalizationTab, goToRealmOverridesSubTab } from "./localization";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertAxeViolations } from "../utils/masthead.ts";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar.ts";
|
||||
import { goToRealmEventsTab } from "./events.ts";
|
||||
import { goToAddProviders, goToKeys } from "./keys.ts";
|
||||
import { goToLoginTab } from "./login.ts";
|
||||
import {
|
||||
goToLocalizationTab,
|
||||
goToRealmOverridesSubTab,
|
||||
} from "./localization.ts";
|
||||
import {
|
||||
goToClientPoliciesList,
|
||||
goToClientPoliciesTab,
|
||||
} from "./client-policies";
|
||||
} from "./client-policies.ts";
|
||||
|
||||
test.describe("Accessibility tests for realm settings", () => {
|
||||
const realmName = `realm-settings-accessibility-${uuid()}`;
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { assertFieldError } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { assertFieldError } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import {
|
||||
assertModalMessage,
|
||||
assertModalTitle,
|
||||
cancelModal,
|
||||
confirmModal,
|
||||
} from "../utils/modal";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar";
|
||||
} from "../utils/modal.ts";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertEmptyTable,
|
||||
assertRowExists,
|
||||
clickTableRowItem,
|
||||
searchItem,
|
||||
} from "../utils/table";
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
addClientRolesCondition,
|
||||
addClientScopeCondition,
|
||||
@ -41,7 +41,7 @@ import {
|
||||
shouldCancelAddingCondition,
|
||||
shouldNotHaveConditionsConfigured,
|
||||
shouldReloadJSONPolicies,
|
||||
} from "./client-policies";
|
||||
} from "./client-policies.ts";
|
||||
|
||||
test.describe("Realm settings client policies tab tests", () => {
|
||||
const realmName = `realm-settings-client-policies_${uuid()}`;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { clickRowKebabItem } from "../utils/table";
|
||||
import { selectItem } from "../utils/form";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { clickRowKebabItem } from "../utils/table.ts";
|
||||
import { selectItem } from "../utils/form.ts";
|
||||
|
||||
export async function goToClientPoliciesTab(page: Page) {
|
||||
await page.getByTestId("rs-clientPolicies-tab").click();
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import {
|
||||
assertNotificationMessage,
|
||||
selectActionToggleItem,
|
||||
} from "../utils/masthead";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar";
|
||||
} from "../utils/masthead.ts";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertExecutorInList,
|
||||
assertIntentClient,
|
||||
@ -22,9 +22,9 @@ import {
|
||||
searchClientProfile,
|
||||
searchNonExistingClientProfile,
|
||||
selectExecutorType,
|
||||
} from "./client-profiles";
|
||||
import { clickTableRowItem } from "../utils/table";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
} from "./client-profiles.ts";
|
||||
import { clickTableRowItem } from "../utils/table.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
|
||||
test.describe("Realm settings client profiles tab tests", () => {
|
||||
const profileName = "Test";
|
||||
|
||||
@ -1,6 +1,10 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { assertEmptyTable, assertRowExists, searchItem } from "../utils/table";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import {
|
||||
assertEmptyTable,
|
||||
assertRowExists,
|
||||
searchItem,
|
||||
} from "../utils/table.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
|
||||
export async function goToClientPoliciesTab(page: Page) {
|
||||
await page.getByTestId("rs-clientPolicies-tab").click();
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar.ts";
|
||||
import {
|
||||
clickSaveEmailButton,
|
||||
goToEmailTab,
|
||||
@ -13,7 +13,7 @@ import {
|
||||
assertEmailPageWithPasswordAuth,
|
||||
populateEmailPageWithTokenAuth,
|
||||
assertEmailPageWithTokenAuth,
|
||||
} from "./email";
|
||||
} from "./email.ts";
|
||||
|
||||
test.describe("Email", () => {
|
||||
const realmName = `email-realm-settings-${uuid()}`;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { switchOn } from "../utils/form";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { switchOn } from "../utils/form.ts";
|
||||
|
||||
export async function goToEmailTab(page: Page) {
|
||||
await page.getByTestId("rs-email-tab").click();
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { test } from "@playwright/test";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { switchOn } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { assertModalMessage, confirmModal } from "../utils/modal";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar";
|
||||
import { assertRowExists, searchItem } from "../utils/table";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { switchOn } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { assertModalMessage, confirmModal } from "../utils/modal.ts";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar.ts";
|
||||
import { assertRowExists, searchItem } from "../utils/table.ts";
|
||||
import {
|
||||
addSavedEventTypes,
|
||||
clickClearEvents,
|
||||
@ -15,7 +15,7 @@ import {
|
||||
fillEventListener,
|
||||
goToEventsTab,
|
||||
goToRealmEventsTab,
|
||||
} from "./events";
|
||||
} from "./events.ts";
|
||||
|
||||
test.describe("Realm settings events tab tests", () => {
|
||||
const realmName = `events-realm-settings-${crypto.randomUUID()}`;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import { clickSelectRow } from "../utils/table";
|
||||
import type { Page } from "@playwright/test";
|
||||
import { clickSelectRow } from "../utils/table.ts";
|
||||
|
||||
export async function goToRealmEventsTab(page: Page) {
|
||||
await page.getByTestId("rs-realm-events-tab").click();
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import { selectActionToggleItem } from "../utils/masthead";
|
||||
import { cancelModal, confirmModal } from "../utils/modal";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { selectActionToggleItem } from "../utils/masthead.ts";
|
||||
import { cancelModal, confirmModal } from "../utils/modal.ts";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertDialogClosed,
|
||||
assertWarningMessage,
|
||||
toggleIncludeClients,
|
||||
toggleIncludeGroupsAndRoles,
|
||||
} from "./export";
|
||||
} from "./export.ts";
|
||||
|
||||
test.describe("Partial realm export", () => {
|
||||
const REALM_NAME = `partial-export-test-${uuid()}`;
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { switchOff, switchOn } from "../utils/form";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { switchOff, switchOn } from "../utils/form.ts";
|
||||
|
||||
export async function assertDialogClosed(page: Page) {
|
||||
await expect(page.getByTestId("confirm")).not.toBeVisible();
|
||||
await expect(page.getByTestId("confirm")).toBeHidden();
|
||||
}
|
||||
|
||||
export async function assertWarningMessage(page: Page, toBeVisible = false) {
|
||||
if (toBeVisible) {
|
||||
await expect(page.getByTestId("warning-message")).toBeVisible();
|
||||
} else {
|
||||
await expect(page.getByTestId("warning-message")).not.toBeVisible();
|
||||
await expect(page.getByTestId("warning-message")).toBeHidden();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { switchOff, switchOn } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { goToClients, goToRealm, goToRealmSettings } from "../utils/sidebar";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { switchOff, switchOn } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import { goToClients, goToRealm, goToRealmSettings } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertDisplayName,
|
||||
assertFrontendURL,
|
||||
@ -15,8 +15,8 @@ import {
|
||||
fillDisplayName,
|
||||
fillFrontendURL,
|
||||
fillRequireSSL,
|
||||
} from "./general";
|
||||
import { SERVER_URL } from "../utils/constants";
|
||||
} from "./general.ts";
|
||||
import { SERVER_URL } from "../utils/constants.ts";
|
||||
|
||||
test.describe("Realm settings general tab tests", () => {
|
||||
const realmName = `general-realm-settings-${uuid()}`;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { selectItem } from "../utils/form.ts";
|
||||
|
||||
export async function clickSaveRealm(page: Page) {
|
||||
await page.getByTestId("realmSettingsGeneralTab-save").click();
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { Page, test } from "@playwright/test";
|
||||
import { type Page, test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import { goToUserFederation } from "../utils/sidebar";
|
||||
import { assertProviderCardText, assertRealmSettingsText } from "./i18n";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { goToUserFederation } from "../utils/sidebar.ts";
|
||||
import { assertProviderCardText, assertRealmSettingsText } from "./i18n.ts";
|
||||
|
||||
// Test configuration
|
||||
const testConfig = {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { expect, Page } from "@playwright/test";
|
||||
import { expect, type Page } from "@playwright/test";
|
||||
|
||||
export async function assertRealmSettingsText(
|
||||
page: Page,
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
import { expect, test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { chooseFile } from "../utils/file-chooser";
|
||||
import { selectItem } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { selectActionToggleItem } from "../utils/masthead";
|
||||
import { cancelModal, confirmModal } from "../utils/modal";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { chooseFile } from "../utils/file-chooser.ts";
|
||||
import { selectItem } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { selectActionToggleItem } from "../utils/masthead.ts";
|
||||
import { cancelModal, confirmModal } from "../utils/modal.ts";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertClearButtonDisabled,
|
||||
assertClientVisible,
|
||||
@ -23,7 +23,7 @@ import {
|
||||
toggleClients,
|
||||
toggleGroups,
|
||||
toggleUsers,
|
||||
} from "./import";
|
||||
} from "./import.ts";
|
||||
|
||||
test.describe("Partial import test", () => {
|
||||
const testRealm = `Partial-import-${uuid()}`;
|
||||
@ -49,7 +49,7 @@ test.describe("Partial import test", () => {
|
||||
test("Opens and closes partial import dialog", async ({ page }) => {
|
||||
await expect(page.getByTestId("confirm")).toBeDisabled();
|
||||
await cancelModal(page);
|
||||
await expect(page.getByTestId("confirm")).not.toBeVisible();
|
||||
await expect(page.getByTestId("confirm")).toBeHidden();
|
||||
});
|
||||
|
||||
test("Import button only enabled if JSON has something to import", async ({
|
||||
@ -108,7 +108,7 @@ test.describe("Partial import test", () => {
|
||||
|
||||
await chooseFile(page, "../utils/files/client-only.json");
|
||||
|
||||
await expect(page.locator("select")).not.toBeVisible();
|
||||
await expect(page.locator("select")).toBeHidden();
|
||||
|
||||
await assertTextContent(page, "1 Clients");
|
||||
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { Locator, Page, expect } from "@playwright/test";
|
||||
import { switchOff, switchOn } from "../utils/form";
|
||||
import { type Locator, type Page, expect } from "@playwright/test";
|
||||
import { switchOff, switchOn } from "../utils/form.ts";
|
||||
|
||||
export async function assertImportButtonDisabled(page: Page, disabled = true) {
|
||||
if (disabled) {
|
||||
await expect(page.getByTestId("confirm")).toBeDisabled();
|
||||
} else {
|
||||
await expect(page.getByTestId("confirm")).not.toBeDisabled();
|
||||
await expect(page.getByTestId("confirm")).toBeEnabled();
|
||||
}
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ export async function assertClearButtonDisabled(page: Page, disabled = true) {
|
||||
if (disabled) {
|
||||
await expect(getClearButton(page)).toBeDisabled();
|
||||
} else {
|
||||
await expect(getClearButton(page)).not.toBeDisabled();
|
||||
await expect(getClearButton(page)).toBeEnabled();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,19 +1,23 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { switchToggle } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar";
|
||||
import { assertRowExists, clickRowKebabItem, searchItem } from "../utils/table";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { switchToggle } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertRowExists,
|
||||
clickRowKebabItem,
|
||||
searchItem,
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
assertPriority,
|
||||
goToAddProviders,
|
||||
goToDetails,
|
||||
goToKeys,
|
||||
switchToFilter,
|
||||
} from "./keys";
|
||||
} from "./keys.ts";
|
||||
|
||||
test.describe("Realm Settings - Keys", () => {
|
||||
const realmName = `events-realm-settings-${uuid()}`;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Page, expect } from "@playwright/test";
|
||||
import { clickTableRowItem } from "../utils/table";
|
||||
import { selectItem } from "../utils/form";
|
||||
import { type Page, expect } from "@playwright/test";
|
||||
import { clickTableRowItem } from "../utils/table.ts";
|
||||
import { selectItem } from "../utils/form.ts";
|
||||
|
||||
export async function goToKeys(page: Page) {
|
||||
await page.getByTestId("rs-keys-tab").click();
|
||||
|
||||
@ -1,11 +1,15 @@
|
||||
import { test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { login } from "../utils/login";
|
||||
import { assertNotificationMessage } from "../utils/masthead";
|
||||
import { confirmModal } from "../utils/modal";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar";
|
||||
import { assertRowExists, clickRowKebabItem, searchItem } from "../utils/table";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import { assertNotificationMessage } from "../utils/masthead.ts";
|
||||
import { confirmModal } from "../utils/modal.ts";
|
||||
import { goToRealm, goToRealmSettings } from "../utils/sidebar.ts";
|
||||
import {
|
||||
assertRowExists,
|
||||
clickRowKebabItem,
|
||||
searchItem,
|
||||
} from "../utils/table.ts";
|
||||
import {
|
||||
addBundle,
|
||||
clickConfirmEditButton,
|
||||
@ -16,7 +20,7 @@ import {
|
||||
goToRealmOverridesSubTab,
|
||||
selectLocale,
|
||||
switchInternationalization,
|
||||
} from "./localization";
|
||||
} from "./localization.ts";
|
||||
|
||||
test.describe("Go to localization tab", () => {
|
||||
const realmName = `localization-${uuid()}`;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import { selectItem, switchOff, switchOn } from "../utils/form";
|
||||
import type { Page } from "@playwright/test";
|
||||
import { selectItem, switchOff, switchOn } from "../utils/form.ts";
|
||||
|
||||
export async function goToLocalizationTab(page: Page) {
|
||||
await page.getByTestId("rs-localization-tab").click();
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
import { Page, test } from "@playwright/test";
|
||||
import { type Page, test } from "@playwright/test";
|
||||
import { v4 as uuid } from "uuid";
|
||||
import adminClient from "../utils/AdminClient";
|
||||
import { assertSwitchIsChecked, switchToggle } from "../utils/form";
|
||||
import { login } from "../utils/login";
|
||||
import adminClient from "../utils/AdminClient.ts";
|
||||
import { assertSwitchIsChecked, switchToggle } from "../utils/form.ts";
|
||||
import { login } from "../utils/login.ts";
|
||||
import {
|
||||
goToClientScopes,
|
||||
goToRealm,
|
||||
goToRealmSettings,
|
||||
} from "../utils/sidebar";
|
||||
import { goToLoginTab } from "./login";
|
||||
} from "../utils/sidebar.ts";
|
||||
import { goToLoginTab } from "./login.ts";
|
||||
|
||||
test.describe("Realm settings tabs tests", () => {
|
||||
const realmName = `realm-settings_${uuid()}`;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Page } from "@playwright/test";
|
||||
import type { Page } from "@playwright/test";
|
||||
|
||||
export async function goToLoginTab(page: Page) {
|
||||
await page.getByTestId("rs-login-tab").click();
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user