From 2c81987dc9f7a344b9b97d60543ff67c4c850059 Mon Sep 17 00:00:00 2001
From: Siegfried Ehret
<49895321+siegfried-ehret-sonarsource@users.noreply.github.com>
Date: Thu, 2 May 2019 08:46:39 +0200
Subject: [PATCH] SONARCLOUD-517 Hide organization binding link for non admin
users
* SONARCLOUD-517 Hide organization binding link for non admin users
* SONARCLOUD-517 Update tests
---
.../OrganizationNavigationHeader.tsx | 13 ++--
.../OrganizationNavigationHeader-test.tsx | 32 ++++++++++
...OrganizationNavigationHeader-test.tsx.snap | 64 ++++++++++++++++---
3 files changed, 95 insertions(+), 14 deletions(-)
diff --git a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationHeader.tsx b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationHeader.tsx
index 28b8d1cb6d9..9de2144b635 100644
--- a/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationHeader.tsx
+++ b/server/sonar-web/src/main/js/apps/organizations/navigation/OrganizationNavigationHeader.tsx
@@ -45,6 +45,7 @@ export default function OrganizationNavigationHeader({
organizations
}: Props) {
const other = organizations.filter(o => o.key !== organization.key);
+ const isAdmin = organization.actions && organization.actions.admin;
let almKey;
let tooltipContent;
@@ -66,10 +67,14 @@ export default function OrganizationNavigationHeader({
tooltipContent = (
<>
{translateWithParameters('organization.not_bound_to_x', translate(almKey))}
-
-
- {translate('organization.go_to_settings_to_bind')}
-
+ {isAdmin && (
+ <>
+
+
+ {translate('organization.go_to_settings_to_bind')}
+
+ >
+ )}
>
);
tooltipIconSrc = `${getBaseUrl()}/images/sonarcloud/${almKey}-unbound.svg`;
diff --git a/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/OrganizationNavigationHeader-test.tsx b/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/OrganizationNavigationHeader-test.tsx
index abd265629e3..ab3816953c8 100644
--- a/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/OrganizationNavigationHeader-test.tsx
+++ b/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/OrganizationNavigationHeader-test.tsx
@@ -42,6 +42,38 @@ it('renders for external user w/o alm integration', () => {
).toMatchSnapshot();
});
+it('renders with the organization tooltip for an admin user of an organization', () => {
+ expect(
+ shallowRender({
+ currentUser: mockLoggedInUser({
+ externalProvider: 'github'
+ }),
+ organization: {
+ actions: { admin: true },
+ key: 'org1',
+ name: 'org1',
+ projectVisibility: 'public'
+ }
+ }).find('Tooltip')
+ ).toMatchSnapshot();
+});
+
+it('renders without the organization tooltip for a non-admin user of an organization', () => {
+ expect(
+ shallowRender({
+ currentUser: mockLoggedInUser({
+ externalProvider: 'github'
+ }),
+ organization: {
+ actions: { admin: false },
+ key: 'org1',
+ name: 'org1',
+ projectVisibility: 'public'
+ }
+ }).find('Tooltip')
+ ).toMatchSnapshot();
+});
+
it('renders dropdown', () => {
const organizations: T.Organization[] = [
{ actions: { admin: true }, key: 'org1', name: 'org1', projectVisibility: 'public' },
diff --git a/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/__snapshots__/OrganizationNavigationHeader-test.tsx.snap b/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/__snapshots__/OrganizationNavigationHeader-test.tsx.snap
index c580daad4e2..828f54920e8 100644
--- a/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/__snapshots__/OrganizationNavigationHeader-test.tsx.snap
+++ b/server/sonar-web/src/main/js/apps/organizations/navigation/__tests__/__snapshots__/OrganizationNavigationHeader-test.tsx.snap
@@ -92,16 +92,6 @@ exports[`renders for external user w/o alm integration 1`] = `
organization.not_bound_to_x.github
-
-
- organization.go_to_settings_to_bind
-
}
>
@@ -169,3 +159,57 @@ exports[`renders with alm integration 1`] = `
`;
+
+exports[`renders with the organization tooltip for an admin user of an organization 1`] = `
+
+
+ organization.not_bound_to_x.github
+
+
+
+
+ organization.go_to_settings_to_bind
+
+
+
+ }
+>
+
+
+`;
+
+exports[`renders without the organization tooltip for a non-admin user of an organization 1`] = `
+
+
+ organization.not_bound_to_x.github
+
+
+ }
+>
+
+
+`;
--
2.39.5