]> source.dussan.org Git - sonarqube.git/commitdiff
SONARCLOUD-572 Remove email from permissions panel (frontend) (#1550)
authorSiegfried Ehret <49895321+siegfried-ehret-sonarsource@users.noreply.github.com>
Fri, 3 May 2019 12:55:04 +0000 (14:55 +0200)
committersonartech <sonartech@sonarsource.com>
Mon, 6 May 2019 09:01:16 +0000 (11:01 +0200)
server/sonar-web/src/main/js/apps/permissions/shared/components/UserHolder.tsx
server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/UserHolder-test.tsx
server/sonar-web/src/main/js/apps/permissions/shared/components/__tests__/__snapshots__/UserHolder-test.tsx.snap

index 141839e86cfceaec1364fe8c6b2fab8c0152cd4b..960bead1c4f0021a91cce7a0626030b81f83f943 100644 (file)
@@ -108,11 +108,22 @@ export default class UserHolder extends React.PureComponent<Props, State> {
             size={36}
           />
           <div className="display-inline-block text-middle">
-            <div>
-              <strong>{user.name}</strong>
-              <span className="note spacer-left">{user.login}</span>
-            </div>
-            <div className="little-spacer-top">{user.email}</div>
+            {isSonarCloud() ? (
+              <>
+                <div>
+                  <strong>{user.name}</strong>
+                </div>
+                <div className="note little-spacer-top">{user.login}</div>
+              </>
+            ) : (
+              <>
+                <div>
+                  <strong>{user.name}</strong>
+                  <span className="note spacer-left">{user.login}</span>
+                </div>
+                <div className="little-spacer-top">{user.email}</div>
+              </>
+            )}
           </div>
         </td>
         {permissionCells}
index 8a880fc33795075426e87fab1bec0109af3757d0..b0828ee76b42785f32a138295e7eb22ff0885ecc 100644 (file)
 import * as React from 'react';
 import { shallow } from 'enzyme';
 import UserHolder from '../UserHolder';
+import { isSonarCloud } from '../../../../../helpers/system';
 import { waitAndUpdate } from '../../../../../helpers/testUtils';
 
+jest.mock('../../../../../helpers/system', () => ({ isSonarCloud: jest.fn() }));
+
 const user = {
+  email: 'john.doe@sonarsource.com',
   login: 'john doe',
   name: 'John Doe',
   permissions: ['bar']
@@ -66,3 +70,17 @@ it('should disabled PermissionCell checkboxes when waiting for promise to return
   await waitAndUpdate(wrapper);
   expect(wrapper.state().loading).toEqual([]);
 });
+
+it('should show user details for SonarQube', () => {
+  (isSonarCloud as jest.Mock).mockReturnValue(false);
+
+  const wrapper = shallow<UserHolder>(userHolder);
+  expect(wrapper.find('.display-inline-block.text-middle')).toMatchSnapshot();
+});
+
+it('should show user details for SonarCloud', () => {
+  (isSonarCloud as jest.Mock).mockReturnValue(true);
+
+  const wrapper = shallow<UserHolder>(userHolder);
+  expect(wrapper.find('.display-inline-block.text-middle')).toMatchSnapshot();
+});
index 1adb2bb5f86f8e4d2964df30d8c82583455e2a31..2df2eed98cdab8100d1b6c79097d769a5a9e8bc2 100644 (file)
@@ -25,7 +25,9 @@ exports[`should render correctly 1`] = `
       </div>
       <div
         className="little-spacer-top"
-      />
+      >
+        john.doe@sonarsource.com
+      </div>
     </div>
   </td>
   <PermissionCell
@@ -51,6 +53,7 @@ exports[`should render correctly 1`] = `
     }
     permissionItem={
       Object {
+        "email": "john.doe@sonarsource.com",
         "login": "john doe",
         "name": "John Doe",
         "permissions": Array [
@@ -73,6 +76,7 @@ exports[`should render correctly 1`] = `
     }
     permissionItem={
       Object {
+        "email": "john.doe@sonarsource.com",
         "login": "john doe",
         "name": "John Doe",
         "permissions": Array [
@@ -84,3 +88,42 @@ exports[`should render correctly 1`] = `
   />
 </tr>
 `;
+
+exports[`should show user details for SonarCloud 1`] = `
+<div
+  className="display-inline-block text-middle"
+>
+  <div>
+    <strong>
+      John Doe
+    </strong>
+  </div>
+  <div
+    className="note little-spacer-top"
+  >
+    john doe
+  </div>
+</div>
+`;
+
+exports[`should show user details for SonarQube 1`] = `
+<div
+  className="display-inline-block text-middle"
+>
+  <div>
+    <strong>
+      John Doe
+    </strong>
+    <span
+      className="note spacer-left"
+    >
+      john doe
+    </span>
+  </div>
+  <div
+    className="little-spacer-top"
+  >
+    john.doe@sonarsource.com
+  </div>
+</div>
+`;