diff --git a/actions/team_actions.jsx b/actions/team_actions.jsx index 868245a7a941..046ff4b1b465 100644 --- a/actions/team_actions.jsx +++ b/actions/team_actions.jsx @@ -9,7 +9,7 @@ import {getUser} from 'mattermost-redux/actions/users'; import {browserHistory} from 'utils/browser_history'; -export function removeUserFromTeam(teamId, userId) { +export function removeUserFromTeamAndGetStats(teamId, userId) { return async (dispatch, getState) => { const response = await dispatch(TeamActions.removeUserFromTeam(teamId, userId)); dispatch(getUser(userId)); diff --git a/components/admin_console/manage_teams_modal/index.jsx b/components/admin_console/manage_teams_modal/index.jsx index 546911ef1cc4..c82ef018d708 100644 --- a/components/admin_console/manage_teams_modal/index.jsx +++ b/components/admin_console/manage_teams_modal/index.jsx @@ -4,9 +4,8 @@ import {connect} from 'react-redux'; import {bindActionCreators} from 'redux'; -import {updateTeamMemberSchemeRoles, getTeamMembersForUser, getTeamsForUser} from 'mattermost-redux/actions/teams'; +import {updateTeamMemberSchemeRoles, getTeamMembersForUser, getTeamsForUser, removeUserFromTeam} from 'mattermost-redux/actions/teams'; -import {removeUserFromTeam} from 'actions/team_actions.jsx'; import {getCurrentLocale} from 'selectors/i18n'; import ManageTeamsModal from './manage_teams_modal'; diff --git a/components/leave_team_modal/index.js b/components/leave_team_modal/index.js index b6130586cf36..e91e59fa7c7d 100644 --- a/components/leave_team_modal/index.js +++ b/components/leave_team_modal/index.js @@ -5,9 +5,9 @@ import {connect} from 'react-redux'; import {bindActionCreators} from 'redux'; import {getCurrentUserId} from 'mattermost-redux/selectors/entities/users'; import {getCurrentTeamId} from 'mattermost-redux/selectors/entities/teams'; +import {removeUserFromTeam as leaveTeam} from 'mattermost-redux/actions/teams'; import {toggleSideBarRightMenuAction} from 'actions/global_actions.jsx'; -import {removeUserFromTeam} from 'actions/team_actions'; import {ModalIdentifiers} from 'utils/constants'; import {isModalOpen} from 'selectors/views/modals'; @@ -29,7 +29,7 @@ function mapStateToProps(state) { function mapDispatchToProps(dispatch) { return { actions: bindActionCreators({ - removeUserFromTeam, + leaveTeam, toggleSideBarRightMenu: toggleSideBarRightMenuAction, }, dispatch), }; diff --git a/components/leave_team_modal/leave_team_modal.jsx b/components/leave_team_modal/leave_team_modal.jsx index 849812b5ea52..e88ddf47a212 100644 --- a/components/leave_team_modal/leave_team_modal.jsx +++ b/components/leave_team_modal/leave_team_modal.jsx @@ -42,7 +42,7 @@ class LeaveTeamModal extends React.PureComponent { * An action to remove user from team */ - removeUserFromTeam: PropTypes.func.isRequired, + leaveTeam: PropTypes.func.isRequired, /** * An action to toggle the right menu @@ -70,7 +70,7 @@ class LeaveTeamModal extends React.PureComponent { handleSubmit = () => { this.props.onHide(); - this.props.actions.removeUserFromTeam(this.props.currentTeamId, this.props.currentUserId); + this.props.actions.leaveTeam(this.props.currentTeamId, this.props.currentUserId); this.props.actions.toggleSideBarRightMenu(); }; diff --git a/components/leave_team_modal/leave_team_modal.test.jsx b/components/leave_team_modal/leave_team_modal.test.jsx index ad1fbb787f27..eaa8e92d6780 100644 --- a/components/leave_team_modal/leave_team_modal.test.jsx +++ b/components/leave_team_modal/leave_team_modal.test.jsx @@ -14,7 +14,7 @@ describe('components/LeaveTeamModal', () => { show: false, isBusy: false, actions: { - removeUserFromTeam: jest.fn(), + leaveTeam: jest.fn(), toggleSideBarRightMenu: jest.fn(), }, @@ -35,16 +35,16 @@ describe('components/LeaveTeamModal', () => { expect(requiredProps.onHide).toHaveBeenCalledTimes(1); }); - it('should call removeUserFromTeam and toggleSideBarRightMenu when ok is clicked', () => { + it('should call leaveTeam and toggleSideBarRightMenu when ok is clicked', () => { const wrapper = shallowWithIntl(). dive({disableLifecycleMethods: true}); const ok = wrapper.find('.btn-danger').first(); ok.simulate('click'); - expect(requiredProps.actions.removeUserFromTeam).toHaveBeenCalledTimes(1); + expect(requiredProps.actions.leaveTeam).toHaveBeenCalledTimes(1); expect(requiredProps.actions.toggleSideBarRightMenu).toHaveBeenCalledTimes(1); expect(requiredProps.onHide).toHaveBeenCalledTimes(1); - expect(requiredProps.actions.removeUserFromTeam). + expect(requiredProps.actions.leaveTeam). toHaveBeenCalledWith(requiredProps.currentTeamId, requiredProps.currentUserId); }); diff --git a/components/team_members_dropdown/index.js b/components/team_members_dropdown/index.js index b9b928318c5c..32d271b2948f 100644 --- a/components/team_members_dropdown/index.js +++ b/components/team_members_dropdown/index.js @@ -11,7 +11,7 @@ import {getCurrentUser} from 'mattermost-redux/selectors/entities/users'; import {getCurrentChannelId} from 'mattermost-redux/selectors/entities/channels'; import {getCurrentRelativeTeamUrl} from 'mattermost-redux/selectors/entities/teams'; -import {removeUserFromTeam} from 'actions/team_actions.jsx'; +import {removeUserFromTeamAndGetStats} from 'actions/team_actions.jsx'; import TeamMembersDropdown from './team_members_dropdown.jsx'; @@ -30,7 +30,7 @@ function mapDispatchToProps(dispatch) { getTeamStats, getChannelStats, updateTeamMemberSchemeRoles, - removeUserFromTeam, + removeUserFromTeamAndGetStats, }, dispatch), }; } diff --git a/components/team_members_dropdown/team_members_dropdown.jsx b/components/team_members_dropdown/team_members_dropdown.jsx index e737bfb89f33..4e2df178fa93 100644 --- a/components/team_members_dropdown/team_members_dropdown.jsx +++ b/components/team_members_dropdown/team_members_dropdown.jsx @@ -55,10 +55,8 @@ export default class TeamMembersDropdown extends React.Component { } handleRemoveFromTeam = async () => { - const {data, error} = await this.props.actions.removeUserFromTeam(this.props.teamMember.team_id, this.props.user.id); - if (data) { - this.props.actions.getTeamStats(this.props.teamMember.team_id); - } else if (error) { + const {error} = await this.props.actions.removeUserFromTeam(this.props.teamMember.team_id, this.props.user.id); + if (error) { this.setState({serverError: error.message}); } } diff --git a/tests/redux/actions/team_actions.test.js b/tests/redux/actions/team_actions.test.js index ec083791095d..e37b53289495 100644 --- a/tests/redux/actions/team_actions.test.js +++ b/tests/redux/actions/team_actions.test.js @@ -88,8 +88,8 @@ describe('Actions.Team', () => { expect(TeamActions.addUsersToTeam).toHaveBeenCalledWith('teamId', ['123', '1234']); }); - test('removeUserFromTeam', async () => { - await testStore.dispatch(Actions.removeUserFromTeam('teamId', '123')); + test('removeUserFromTeamAndGetStats', async () => { + await testStore.dispatch(Actions.removeUserFromTeamAndGetStats('teamId', '123')); expect(userActions.getUser).toHaveBeenCalledWith('123'); expect(TeamActions.getTeamStats).toHaveBeenCalledWith('teamId'); expect(channelActions.getChannelStats).toHaveBeenCalledWith('currentChannelId');