@@ -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} |
@@ -20,9 +20,13 @@ | |||
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(); | |||
}); |
@@ -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> | |||
`; |