]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-19787 Make disabled state explanation explicit
authorViktor Vorona <viktor.vorona@sonarsource.com>
Mon, 17 Jul 2023 15:20:36 +0000 (17:20 +0200)
committersonartech <sonartech@sonarsource.com>
Tue, 18 Jul 2023 20:03:22 +0000 (20:03 +0000)
server/sonar-web/src/main/js/apps/permissions/project/components/PageHeader.tsx
server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/PermissionsProject-it.tsx
server/sonar-web/src/main/js/apps/permissions/test-utils.ts
sonar-core/src/main/resources/org/sonar/l10n/core.properties

index f9b0bcf125c9d00eee07dd300d7807236ca0e44e..200c721f57cffdfb479ebaaccbdc245841671db4 100644 (file)
@@ -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) {
       <h1 className="page-title">
         {translate('permissions.page')}
         {provisionedByGitHub && (
-          <Tooltip overlay={translate('roles.page.description.github')}>
-            <img
-              alt="github"
-              className="spacer-left spacer-right"
-              aria-label={translate('project_permission.github_managed')}
-              height={16}
-              src={`${getBaseUrl()}/images/alm/github.svg`}
-            />
-          </Tooltip>
+          <img
+            alt="github"
+            className="spacer-left spacer-right"
+            aria-label={translate('project_permission.github_managed')}
+            height={16}
+            src={`${getBaseUrl()}/images/alm/github.svg`}
+          />
         )}
       </h1>
 
@@ -106,9 +103,12 @@ export default function PageHeader(props: Props) {
         <p>{description}</p>
         {visibilityDescription && <p>{visibilityDescription}</p>}
         {provisionedByGitHub && (
-          <div className="sw-mt-2">
-            <GitHubSynchronisationWarning short />
-          </div>
+          <>
+            <p>{translate('roles.page.description.github')}</p>
+            <div className="sw-mt-2">
+              <GitHubSynchronisationWarning short />
+            </div>
+          </>
         )}
         {githubProvisioningStatus && !isGitHubProject && (
           <Alert variant="warning" className="sw-mt-2">
index 01b17d95ee43f57cce78900b38d3b48b9f4593fe..73b39423a4c1d4d11e1e002159c7a7da96581cdf 100644 (file)
@@ -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(
index 15f971e558bc91ed6254c33872a5eee8c67b9a9a..3acb1f2169d8c36c358d5ea2bcc2d279c8e095be 100644 (file)
@@ -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',
     }),
index 4801252f1994717713326b4e2c367eb7ffe9ef08..b4eb9e98c49ecebc4ae586bf6c91db791acb0d32 100644 (file)
@@ -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.