From 514b1b452b1bb418e7c6169934129dbd31bd87c7 Mon Sep 17 00:00:00 2001 From: Erik Jan de Wit Date: Fri, 11 Apr 2025 13:53:06 +0200 Subject: [PATCH] make group select required when specific group is selected (#38768) * make group select required when specific group is selected fixes: #38767 Signed-off-by: Erik Jan de Wit * small refactor to make labels not dependant on route Signed-off-by: Erik Jan de Wit * fixed tests Signed-off-by: Erik Jan de Wit --------- Signed-off-by: Erik Jan de Wit --- .../src/clients/authorization/policy/Role.tsx | 2 +- .../role-mapping/AddRoleMappingModal.tsx | 30 ++++++------------- .../PermissionsEvaluationTab.tsx | 1 + .../resource-types/GroupSelect.tsx | 15 ++++------ .../resource-types/ResourceType.tsx | 1 + .../resource-types/RoleSelect.tsx | 22 +++++++------- .../admin-ui/test/permissions/main.spec.ts | 4 ++- js/apps/admin-ui/test/permissions/main.ts | 7 +++++ 8 files changed, 38 insertions(+), 44 deletions(-) diff --git a/js/apps/admin-ui/src/clients/authorization/policy/Role.tsx b/js/apps/admin-ui/src/clients/authorization/policy/Role.tsx index 99c1d5abd8f..5b6c7c6c157 100644 --- a/js/apps/admin-ui/src/clients/authorization/policy/Role.tsx +++ b/js/apps/admin-ui/src/clients/authorization/policy/Role.tsx @@ -66,6 +66,7 @@ export const Role = () => { { field.onChange([ ...(field.value || []), @@ -77,7 +78,6 @@ export const Role = () => { onClose={() => { setOpen(false); }} - isLDAPmapper /> )} , {selectedRoles.length > 0 && ( diff --git a/js/apps/admin-ui/test/permissions/main.spec.ts b/js/apps/admin-ui/test/permissions/main.spec.ts index 3eee6be48b3..ec8c527f995 100644 --- a/js/apps/admin-ui/test/permissions/main.spec.ts +++ b/js/apps/admin-ui/test/permissions/main.spec.ts @@ -11,6 +11,7 @@ import { clickCreatePermission, clickCreatePolicySaveButton, clickSearchButton, + deletePermission, fillPermissionForm, goToEvaluation, goToPermissions, @@ -76,6 +77,7 @@ test.describe("Permissions section tests", () => { await goToPermissions(page); await assertRowExists(page, "test-permission"); + await deletePermission(page, "test-permission"); await goToPolicies(page); await assertRowExists(page, "test-policy"); }); @@ -95,7 +97,7 @@ test.describe("Permissions section tests", () => { await fillPolicyForm( page, { - name: "test-policy", + name: "test-policy2", description: "test-description", type: "User", user: "test-user", diff --git a/js/apps/admin-ui/test/permissions/main.ts b/js/apps/admin-ui/test/permissions/main.ts index cfe065fe396..9743350a432 100644 --- a/js/apps/admin-ui/test/permissions/main.ts +++ b/js/apps/admin-ui/test/permissions/main.ts @@ -1,6 +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"; type PermissionForm = PolicyRepresentation & { enforcementMode?: "allResources" | "specificResources"; @@ -68,3 +70,8 @@ export async function openSearchPanel(page: Page) { export async function clickSearchButton(page: Page) { await page.getByTestId("search-btn").click(); } + +export async function deletePermission(page: Page, name: string) { + await clickRowKebabItem(page, name, "Delete"); + await confirmModal(page); +}