diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-12 15:09:37 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-12 15:09:37 +0000 |
commit | 2c89e169769ead722394a79ed67fcd08e96863dd (patch) | |
tree | 0dadb576846c484475b895f75fab41f71cdb952e /spec/frontend/blob/components/blob_header_spec.js | |
parent | bd497e352ebd279536ae11855871162e82a3f88c (diff) | |
download | gitlab-ce-2c89e169769ead722394a79ed67fcd08e96863dd.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/blob/components/blob_header_spec.js')
-rw-r--r-- | spec/frontend/blob/components/blob_header_spec.js | 58 |
1 files changed, 32 insertions, 26 deletions
diff --git a/spec/frontend/blob/components/blob_header_spec.js b/spec/frontend/blob/components/blob_header_spec.js index 7d1443fb069..d410ef10fc9 100644 --- a/spec/frontend/blob/components/blob_header_spec.js +++ b/spec/frontend/blob/components/blob_header_spec.js @@ -3,7 +3,6 @@ import BlobHeader from '~/blob/components/blob_header.vue'; import ViewerSwitcher from '~/blob/components/blob_header_viewer_switcher.vue'; import DefaultActions from '~/blob/components/blob_header_default_actions.vue'; import BlobFilepath from '~/blob/components/blob_header_filepath.vue'; -import eventHub from '~/blob/event_hub'; import { Blob } from './mock_data'; @@ -21,10 +20,6 @@ describe('Blob Header Default Actions', () => { }); } - beforeEach(() => { - createComponent(); - }); - afterEach(() => { wrapper.destroy(); }); @@ -96,37 +91,48 @@ describe('Blob Header Default Actions', () => { describe('functionality', () => { const newViewer = 'Foo Bar'; + const activeViewerType = 'Alpha Beta'; - it('listens to "switch-view" event when viewer switcher is shown and updates activeViewer', () => { - expect(wrapper.vm.showViewerSwitcher).toBe(true); - eventHub.$emit('switch-viewer', newViewer); - - return wrapper.vm.$nextTick().then(() => { - expect(wrapper.vm.activeViewer).toBe(newViewer); - }); - }); - - it('does not update active viewer if the switcher is not shown', () => { - const activeViewer = 'Alpha Beta'; + const factory = (hideViewerSwitcher = false) => { createComponent( {}, + {}, { - data() { - return { - activeViewer, - }; - }, - }, - { - hideViewerSwitcher: true, + activeViewerType, + hideViewerSwitcher, }, ); + }; + + it('by default sets viewer data based on activeViewerType', () => { + factory(); + expect(wrapper.vm.viewer).toBe(activeViewerType); + }); + + it('sets viewer to null if the viewer switcher should be hidden', () => { + factory(true); + expect(wrapper.vm.viewer).toBe(null); + }); + + it('watches the changes in viewer data and emits event when the change is registered', () => { + factory(); + jest.spyOn(wrapper.vm, '$emit'); + wrapper.vm.viewer = newViewer; + + return wrapper.vm.$nextTick().then(() => { + expect(wrapper.vm.$emit).toHaveBeenCalledWith('viewer-changed', newViewer); + }); + }); + + it('does not emit event if the switcher is not rendered', () => { + factory(true); expect(wrapper.vm.showViewerSwitcher).toBe(false); - eventHub.$emit('switch-viewer', newViewer); + jest.spyOn(wrapper.vm, '$emit'); + wrapper.vm.viewer = newViewer; return wrapper.vm.$nextTick().then(() => { - expect(wrapper.vm.activeViewer).toBe(activeViewer); + expect(wrapper.vm.$emit).not.toHaveBeenCalled(); }); }); }); |