summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2018-05-30 10:59:29 +0100
committerPhil Hughes <me@iamphill.com>2018-05-30 10:59:29 +0100
commit8f646faf3dc2ded677a9a5fbca16b5da9b146d19 (patch)
treeb09fd1baea4271c0012f48fff2495f79d67accff
parentc760965079fce0f020980987794ea61c86eb09ff (diff)
downloadgitlab-ce-8f646faf3dc2ded677a9a5fbca16b5da9b146d19.tar.gz
improved stored data
created reset action to reset stored merge requests
-rw-r--r--app/assets/javascripts/ide/stores/modules/merge_requests/actions.js4
-rw-r--r--app/assets/javascripts/ide/stores/modules/merge_requests/mutation_types.js2
-rw-r--r--app/assets/javascripts/ide/stores/modules/merge_requests/mutations.js10
-rw-r--r--spec/javascripts/ide/mock_data.js2
-rw-r--r--spec/javascripts/ide/stores/modules/merge_requests/actions_spec.js16
-rw-r--r--spec/javascripts/ide/stores/modules/merge_requests/mutations_spec.js14
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([]);
+ });
+ });
});