From ee95bb3b3db83bbadf265c850138134bd740ecf3 Mon Sep 17 00:00:00 2001 From: Viktor Vorona Date: Mon, 17 Jul 2023 17:20:36 +0200 Subject: [PATCH] SONAR-19787 Make disabled state explanation explicit --- .../project/components/PageHeader.tsx | 26 +++++++++---------- .../__tests__/PermissionsProject-it.tsx | 5 ++-- .../main/js/apps/permissions/test-utils.ts | 1 + .../resources/org/sonar/l10n/core.properties | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.tsx b/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.tsx index f9b0bcf125c..200c721f57c 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.tsx @@ -19,7 +19,6 @@ */ import * as React from 'react'; import GitHubSynchronisationWarning from '../../../../app/components/GitHubSynchronisationWarning'; -import Tooltip from '../../../../components/controls/Tooltip'; import { Button } from '../../../../components/controls/buttons'; import { Alert } from '../../../../components/ui/Alert'; import DeferredSpinner from '../../../../components/ui/DeferredSpinner'; @@ -72,15 +71,13 @@ export default function PageHeader(props: Props) {

{translate('permissions.page')} {provisionedByGitHub && ( - - github - + github )}

@@ -106,9 +103,12 @@ export default function PageHeader(props: Props) {

{description}

{visibilityDescription &&

{visibilityDescription}

} {provisionedByGitHub && ( -
- -
+ <> +

{translate('roles.page.description.github')}

+
+ +
+ )} {githubProvisioningStatus && !isGitHubProject && ( diff --git a/server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/PermissionsProject-it.tsx b/server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/PermissionsProject-it.tsx index 01b17d95ee4..73b39423a4c 100644 --- a/server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/PermissionsProject-it.tsx +++ b/server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/PermissionsProject-it.tsx @@ -309,9 +309,8 @@ it('should have disabled permissions for GH Project', async () => { expect(ui.pageTitle.get()).toBeInTheDocument(); expect(ui.pageTitle.get()).toHaveAccessibleName(/project_permission.github_managed/); - await expect(ui.pageTitle.byRole('img').get()).toHaveATooltipWithContent( - 'roles.page.description.github' - ); + expect(ui.pageTitle.byRole('img').get()).toBeInTheDocument(); + expect(ui.githubExplanations.get()).toBeInTheDocument(); expect(ui.projectPermissionCheckbox('John', Permissions.Admin).get()).toBeChecked(); expect(ui.projectPermissionCheckbox('John', Permissions.Admin).get()).toHaveAttribute( diff --git a/server/sonar-web/src/main/js/apps/permissions/test-utils.ts b/server/sonar-web/src/main/js/apps/permissions/test-utils.ts index 15f971e558b..3acb1f2169d 100644 --- a/server/sonar-web/src/main/js/apps/permissions/test-utils.ts +++ b/server/sonar-web/src/main/js/apps/permissions/test-utils.ts @@ -41,6 +41,7 @@ export function getPageObject(user: UserEvent) { visibilityRadio: (visibility: Visibility) => byRole('radio', { name: `visibility.${visibility}` }), githubLogo: byRole('img', { name: 'project_permission.github_managed' }), + githubExplanations: byText('roles.page.description.github'), confirmRemovePermissionDialog: byRole('dialog', { name: 'project_permission.remove_only_confirmation_title', }), diff --git a/sonar-core/src/main/resources/org/sonar/l10n/core.properties b/sonar-core/src/main/resources/org/sonar/l10n/core.properties index 4801252f199..b4eb9e98c49 100644 --- a/sonar-core/src/main/resources/org/sonar/l10n/core.properties +++ b/sonar-core/src/main/resources/org/sonar/l10n/core.properties @@ -593,7 +593,7 @@ roles.page=Project Permissions roles.page.description2=Grant and revoke project-level permissions. Permissions can be granted to groups or individual users. roles.page.description_portfolio=Grant and revoke portfolio-level permissions. Permissions can be granted to groups or individual users. roles.page.description_application=Grant and revoke application-level permissions. Permissions can be granted to groups or individual users. -roles.page.description.github=GitHub-provisioned project permissions are read-only for users provisioned from GitHub. For non-GitHub users, the permissions can only be removed. +roles.page.description.github=Project permissions are read-only for users provisioned from GitHub. For non-GitHub users, the permissions can only be removed. project_permission.github_managed=Provisioned from GitHub project_permission.local_project_with_github_provisioning=Please note that this project is not linked to GitHub. Bind it to GitHub to take advantage of the provisioning of permissions. project_permission.remove_only_confirmation=Are you sure you want to remove the permission {permission} from {holder}? The permission can not be added back. -- 2.39.5