diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2019-03-19 12:37:03 +0000 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2019-03-19 12:37:03 +0000 |
commit | a4b18040778d7272bd8fbbb3746e199699ffd893 (patch) | |
tree | b3b8ec6bf20d2d7e7dfa4af5a3b5a0a75c2045f8 /spec | |
parent | b1dd082451d6c3595ea31d97a7933418e7b04af5 (diff) | |
parent | 27fa7b9ca897c77e45878f3fecb7debe8f8cd64c (diff) | |
download | gitlab-ce-a4b18040778d7272bd8fbbb3746e199699ffd893.tar.gz |
Merge branch '53139-hide-tree-single-file' into 'master'
Collapse diff tree is only one file is present
Closes #53139
See merge request gitlab-org/gitlab-ce!26280
Diffstat (limited to 'spec')
-rw-r--r-- | spec/javascripts/diffs/components/app_spec.js | 57 | ||||
-rw-r--r-- | spec/javascripts/diffs/store/actions_spec.js | 8 |
2 files changed, 65 insertions, 0 deletions
diff --git a/spec/javascripts/diffs/components/app_spec.js b/spec/javascripts/diffs/components/app_spec.js index d81c433cca6..8d7c52a2876 100644 --- a/spec/javascripts/diffs/components/app_spec.js +++ b/spec/javascripts/diffs/components/app_spec.js @@ -397,4 +397,61 @@ describe('diffs/components/app', () => { expect(wrapper.find(TreeList).exists()).toBe(true); }); }); + + describe('hideTreeListIfJustOneFile', () => { + let toggleShowTreeList; + + beforeEach(() => { + toggleShowTreeList = jasmine.createSpy('toggleShowTreeList'); + }); + + afterEach(() => { + localStorage.removeItem('mr_tree_show'); + }); + + it('calls toggleShowTreeList when only 1 file', () => { + createComponent({}, ({ state }) => { + state.diffs.diffFiles.push({ sha: '123' }); + }); + + wrapper.setMethods({ + toggleShowTreeList, + }); + + wrapper.vm.hideTreeListIfJustOneFile(); + + expect(toggleShowTreeList).toHaveBeenCalledWith(false); + }); + + it('does not call toggleShowTreeList when more than 1 file', () => { + createComponent({}, ({ state }) => { + state.diffs.diffFiles.push({ sha: '123' }); + state.diffs.diffFiles.push({ sha: '124' }); + }); + + wrapper.setMethods({ + toggleShowTreeList, + }); + + wrapper.vm.hideTreeListIfJustOneFile(); + + expect(toggleShowTreeList).not.toHaveBeenCalled(); + }); + + it('does not call toggleShowTreeList when localStorage is set', () => { + localStorage.setItem('mr_tree_show', 'true'); + + createComponent({}, ({ state }) => { + state.diffs.diffFiles.push({ sha: '123' }); + }); + + wrapper.setMethods({ + toggleShowTreeList, + }); + + wrapper.vm.hideTreeListIfJustOneFile(); + + expect(toggleShowTreeList).not.toHaveBeenCalled(); + }); + }); }); diff --git a/spec/javascripts/diffs/store/actions_spec.js b/spec/javascripts/diffs/store/actions_spec.js index 6c637097893..bca99caa920 100644 --- a/spec/javascripts/diffs/store/actions_spec.js +++ b/spec/javascripts/diffs/store/actions_spec.js @@ -734,6 +734,14 @@ describe('DiffsStoreActions', () => { expect(localStorage.setItem).toHaveBeenCalledWith('mr_tree_show', true); }); + + it('does not update localStorage', () => { + spyOn(localStorage, 'setItem'); + + toggleShowTreeList({ commit() {}, state: { showTreeList: true } }, false); + + expect(localStorage.setItem).not.toHaveBeenCalled(); + }); }); describe('renderFileForDiscussionId', () => { |