diff options
6 files changed, 45 insertions, 3 deletions
diff --git a/app/assets/javascripts/ide/stores/modules/merge_requests/actions.js b/app/assets/javascripts/ide/stores/modules/merge_requests/actions.js index 5afecb2af0d..35b1492f1cf 100644 --- a/app/assets/javascripts/ide/stores/modules/merge_requests/actions.js +++ b/app/assets/javascripts/ide/stores/modules/merge_requests/actions.js @@ -14,11 +14,13 @@ export const receiveMergeRequestsSuccess = ({ commit }, data) => export const fetchMergeRequests = ({ dispatch, state }) => { dispatch('requestMergeRequests'); - Api.mergeRequests({ scope: state.scope, view: 'simple' }) + Api.mergeRequests({ scope: state.scope, state: 'opened' }) .then(({ data }) => { dispatch('receiveMergeRequestsSuccess', data); }) .catch(() => dispatch('receiveMergeRequestsError')); }; +export const resetMergeRequests = ({ commit }) => commit(types.RESET_MERGE_REQUESTS); + export default () => {}; diff --git a/app/assets/javascripts/ide/stores/modules/merge_requests/mutation_types.js b/app/assets/javascripts/ide/stores/modules/merge_requests/mutation_types.js index 83acc0ed33d..0badddcbae7 100644 --- a/app/assets/javascripts/ide/stores/modules/merge_requests/mutation_types.js +++ b/app/assets/javascripts/ide/stores/modules/merge_requests/mutation_types.js @@ -1,3 +1,5 @@ export const REQUEST_MERGE_REQUESTS = 'REQUEST_MERGE_REQUESTS'; export const RECEIVE_MERGE_REQUESTS_ERROR = 'RECEIVE_MERGE_REQUESTS_ERROR'; export const RECEIVE_MERGE_REQUESTS_SUCCESS = 'RECEIVE_MERGE_REQUESTS_SUCCESS'; + +export const RESET_MERGE_REQUESTS = 'RESET_MERGE_REQUESTS'; diff --git a/app/assets/javascripts/ide/stores/modules/merge_requests/mutations.js b/app/assets/javascripts/ide/stores/modules/merge_requests/mutations.js index 82fb5c1346d..f02dbed6563 100644 --- a/app/assets/javascripts/ide/stores/modules/merge_requests/mutations.js +++ b/app/assets/javascripts/ide/stores/modules/merge_requests/mutations.js @@ -10,8 +10,16 @@ export default { }, [types.RECEIVE_MERGE_REQUESTS_SUCCESS](state, data) { state.mergeRequests = data.map(mergeRequest => ({ - id: mergeRequest.iid, + id: mergeRequest.id, + iid: mergeRequest.iid, title: mergeRequest.title, + projectId: mergeRequest.project_id, + projectPathWithNamespace: mergeRequest.web_url + .replace(`${gon.gitlab_url}/`, '') + .replace(`/merge_requests/${mergeRequest.iid}`, ''), })); }, + [types.RESET_MERGE_REQUESTS](state) { + state.mergeRequests = []; + }, }; diff --git a/spec/javascripts/ide/mock_data.js b/spec/javascripts/ide/mock_data.js index 3c09ff36afa..8f24114de26 100644 --- a/spec/javascripts/ide/mock_data.js +++ b/spec/javascripts/ide/mock_data.js @@ -96,8 +96,10 @@ export const fullPipelinesResponse = { export const mergeRequests = [ { + id: 1, iid: 1, title: 'Test merge request', project_id: 1, + web_url: `${gl.TEST_HOST}/namespace/project-path/merge_requests/1`, }, ]; diff --git a/spec/javascripts/ide/stores/modules/merge_requests/actions_spec.js b/spec/javascripts/ide/stores/modules/merge_requests/actions_spec.js index 5d076577753..3b88ac36683 100644 --- a/spec/javascripts/ide/stores/modules/merge_requests/actions_spec.js +++ b/spec/javascripts/ide/stores/modules/merge_requests/actions_spec.js @@ -7,6 +7,7 @@ import actions, { receiveMergeRequestsError, receiveMergeRequestsSuccess, fetchMergeRequests, + resetMergeRequests, } from '~/ide/stores/modules/merge_requests/actions'; import { mergeRequests } from '../../../mock_data'; import testAction from '../../../../helpers/vuex_action_helper'; @@ -93,7 +94,7 @@ describe('IDe merge requests actions', () => { expect(apiSpy).toHaveBeenCalledWith(jasmine.anything(), { params: { scope: 'assigned-to-me', - view: 'simple', + state: 'opened', }, }); }); @@ -141,4 +142,17 @@ describe('IDe merge requests actions', () => { }); }); }); + + describe('resetMergeRequests', () => { + it('commits reset', done => { + testAction( + resetMergeRequests, + null, + mockedState, + [{ type: types.RESET_MERGE_REQUESTS }], + [], + done, + ); + }); + }); }); diff --git a/spec/javascripts/ide/stores/modules/merge_requests/mutations_spec.js b/spec/javascripts/ide/stores/modules/merge_requests/mutations_spec.js index 8983bf65b31..664d3914564 100644 --- a/spec/javascripts/ide/stores/modules/merge_requests/mutations_spec.js +++ b/spec/javascripts/ide/stores/modules/merge_requests/mutations_spec.js @@ -28,14 +28,28 @@ describe('IDE merge requests mutations', () => { describe(types.RECEIVE_MERGE_REQUESTS_SUCCESS, () => { it('sets merge requests', () => { + gon.gitlab_url = gl.TEST_HOST; mutations[types.RECEIVE_MERGE_REQUESTS_SUCCESS](mockedState, mergeRequests); expect(mockedState.mergeRequests).toEqual([ { id: 1, + iid: 1, title: 'Test merge request', + projectId: 1, + projectPathWithNamespace: 'namespace/project-path', }, ]); }); }); + + describe(types.RESET_MERGE_REQUESTS, () => { + it('clears merge request array', () => { + mockedState.mergeRequests = ['test']; + + mutations[types.RESET_MERGE_REQUESTS](mockedState); + + expect(mockedState.mergeRequests).toEqual([]); + }); + }); }); |