Skip to content

Commit

Permalink
Fixing Guest labeling in manage users (mattermost#3701)
Browse files Browse the repository at this point in the history
* Fixing Guest labeling in manage users

* Fixing linter errors
  • Loading branch information
jespino authored Sep 23, 2019
1 parent 44f996d commit 6be505f
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,52 @@ exports[`components/channel_members_dropdown should match snapshot for channel_m
</div>
`;

exports[`components/channel_members_dropdown should match snapshot for dropdown with guest user 1`] = `
<MenuWrapper
animationComponent={[Function]}
className=""
>
<button
className="dropdown-toggle theme color--link style--none"
type="button"
>
<span
className="sr-only"
/>
<span>
<FormattedMessage
defaultMessage="Channel Guest"
id="channel_members_dropdown.channel_guest"
values={Object {}}
/>
</span>
<DropdownIcon />
</button>
<Menu
ariaLabel="Channel member role change"
openLeft={true}
openUp={false}
>
<MenuItemAction
onClick={[Function]}
show={false}
text="Make Channel Member"
/>
<MenuItemAction
onClick={[Function]}
show={false}
text="Make Channel Admin"
/>
<MenuItemAction
onClick={[Function]}
show={true}
text="Remove From Channel"
/>
</Menu>
</MenuWrapper>
`;

exports[`components/channel_members_dropdown should match snapshot for group_constrained channel 1`] = `
<div>
<FormattedMessage
Expand All @@ -20,6 +66,16 @@ exports[`components/channel_members_dropdown should match snapshot for group_con
</div>
`;

exports[`components/channel_members_dropdown should match snapshot for not dropdown with guest user 1`] = `
<div>
<FormattedMessage
defaultMessage="Channel Guest"
id="channel_members_dropdown.channel_guest"
values={Object {}}
/>
</div>
`;

exports[`components/channel_members_dropdown should match snapshot opening dropdown upwards 1`] = `
<div>
<FormattedMessage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,8 @@ export default class ChannelMembersDropdown extends React.Component {
const role = this.renderRole(isChannelAdmin, isGuest);

const canRemoveFromChannel = this.props.canRemoveMember && (this.props.channel.name !== Constants.DEFAULT_CHANNEL || isGuest) && !this.props.channel.group_constrained;
const canMakeChannelMember = isChannelAdmin && !isGuest;
const canMakeChannelAdmin = supportsChannelAdmin && !isChannelAdmin && !isGuest;
const canMakeChannelMember = Boolean(isChannelAdmin && !isGuest);
const canMakeChannelAdmin = Boolean(supportsChannelAdmin && !isChannelAdmin && !isGuest);

if ((canMakeChannelMember || canMakeChannelAdmin || canRemoveFromChannel)) {
const {index, totalUsers} = this.props;
Expand Down Expand Up @@ -182,7 +182,7 @@ export default class ChannelMembersDropdown extends React.Component {

return (
<div>
{this.renderRole(isChannelAdmin)}
{this.renderRole(isChannelAdmin, isGuest)}
</div>
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,42 @@ describe('components/channel_members_dropdown', () => {
},
};

test('should match snapshot for dropdown with guest user', () => {
const props = {
...baseProps,
user: {
...baseProps.user,
roles: 'system_guest',
},
channelMember: {
roles: 'channel_guest',
},
canChangeMemberRoles: true,
};
const wrapper = shallow(
<ChannelMembersDropdown {...props}/>
);
expect(wrapper).toMatchSnapshot();
});

test('should match snapshot for not dropdown with guest user', () => {
const props = {
...baseProps,
user: {
...baseProps.user,
roles: 'system_guest',
},
channelMember: {
roles: 'channel_guest',
},
canChangeMemberRoles: false,
};
const wrapper = shallow(
<ChannelMembersDropdown {...props}/>
);
expect(wrapper).toMatchSnapshot();
});

test('should match snapshot for channel_members_dropdown', () => {
const wrapper = shallow(
<ChannelMembersDropdown {...baseProps}/>
Expand Down

0 comments on commit 6be505f

Please sign in to comment.