diff options
Diffstat (limited to 'spec/frontend/pages/projects/learn_gitlab/components/learn_gitlab_spec.js')
-rw-r--r-- | spec/frontend/pages/projects/learn_gitlab/components/learn_gitlab_spec.js | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/spec/frontend/pages/projects/learn_gitlab/components/learn_gitlab_spec.js b/spec/frontend/pages/projects/learn_gitlab/components/learn_gitlab_spec.js index f8099d7e95a..7e97a539a99 100644 --- a/spec/frontend/pages/projects/learn_gitlab/components/learn_gitlab_spec.js +++ b/spec/frontend/pages/projects/learn_gitlab/components/learn_gitlab_spec.js @@ -1,13 +1,17 @@ import { GlProgressBar } from '@gitlab/ui'; import { mount } from '@vue/test-utils'; import LearnGitlab from '~/pages/projects/learn_gitlab/components/learn_gitlab.vue'; +import eventHub from '~/invite_members/event_hub'; import { testActions, testSections } from './mock_data'; describe('Learn GitLab', () => { let wrapper; + let inviteMembersOpen = false; const createWrapper = () => { - wrapper = mount(LearnGitlab, { propsData: { actions: testActions, sections: testSections } }); + wrapper = mount(LearnGitlab, { + propsData: { actions: testActions, sections: testSections, inviteMembersOpen }, + }); }; beforeEach(() => { @@ -17,6 +21,7 @@ describe('Learn GitLab', () => { afterEach(() => { wrapper.destroy(); wrapper = null; + inviteMembersOpen = false; }); it('renders correctly', () => { @@ -35,4 +40,30 @@ describe('Learn GitLab', () => { expect(progressBar.attributes('value')).toBe('2'); expect(progressBar.attributes('max')).toBe('9'); }); + + describe('Invite Members Modal', () => { + let spy; + + beforeEach(() => { + spy = jest.spyOn(eventHub, '$emit'); + }); + + it('emits openModal', () => { + inviteMembersOpen = true; + + createWrapper(); + + expect(spy).toHaveBeenCalledWith('openModal', { + mode: 'celebrate', + inviteeType: 'members', + source: 'learn-gitlab', + }); + }); + + it('does not emit openModal', () => { + createWrapper(); + + expect(spy).not.toHaveBeenCalled(); + }); + }); }); |