diff options
author | Fatih Acet <acetfatih@gmail.com> | 2019-04-05 02:15:56 +0200 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2019-04-05 21:20:28 +0200 |
commit | 7650677d3d832f9d65c8d38a2485ca60b97731c4 (patch) | |
tree | 9258423d5e0cc21b6c19bafb2965ea5e48d00dd8 /spec/javascripts/related_merge_requests/store/mutations_spec.js | |
parent | 941e00121c30baf0bf4e348d0d2b9b28891754d7 (diff) | |
download | gitlab-ce-_acet-related-mrs-widget-rewrite.tar.gz |
Rewrite related MRs widget with Vue_acet-related-mrs-widget-rewrite
This MR rewrites existing Related Merge Requests widget
with Vue with reusing shared Related Issues components
Diffstat (limited to 'spec/javascripts/related_merge_requests/store/mutations_spec.js')
-rw-r--r-- | spec/javascripts/related_merge_requests/store/mutations_spec.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/spec/javascripts/related_merge_requests/store/mutations_spec.js b/spec/javascripts/related_merge_requests/store/mutations_spec.js new file mode 100644 index 00000000000..21b6e26376b --- /dev/null +++ b/spec/javascripts/related_merge_requests/store/mutations_spec.js @@ -0,0 +1,49 @@ +import mutations from '~/related_merge_requests/store/mutations'; +import * as types from '~/related_merge_requests/store/mutation_types'; + +describe('RelatedMergeRequests Store Mutations', () => { + describe('SET_INITIAL_STATE', () => { + it('should set initial state according to given data', () => { + const apiEndpoint = '/api'; + const state = {}; + + mutations[types.SET_INITIAL_STATE](state, { apiEndpoint }); + + expect(state.apiEndpoint).toEqual(apiEndpoint); + }); + }); + + describe('REQUEST_DATA', () => { + it('should set loading flag', () => { + const state = {}; + + mutations[types.REQUEST_DATA](state); + + expect(state.isFetchingMergeRequests).toEqual(true); + }); + }); + + describe('RECEIVE_DATA_SUCCESS', () => { + it('should set loading flag and data', () => { + const state = {}; + const mrs = [1, 2, 3]; + + mutations[types.RECEIVE_DATA_SUCCESS](state, { data: mrs, total: mrs.length }); + + expect(state.isFetchingMergeRequests).toEqual(false); + expect(state.mergeRequests).toEqual(mrs); + expect(state.totalCount).toEqual(mrs.length); + }); + }); + + describe('RECEIVE_DATA_ERROR', () => { + it('should set loading and error flags', () => { + const state = {}; + + mutations[types.RECEIVE_DATA_ERROR](state); + + expect(state.isFetchingMergeRequests).toEqual(false); + expect(state.hasErrorFetchingMergeRequests).toEqual(true); + }); + }); +}); |