diff options
Diffstat (limited to 'spec/frontend/pages')
5 files changed, 63 insertions, 15 deletions
diff --git a/spec/frontend/pages/admin/projects/components/namespace_select_spec.js b/spec/frontend/pages/admin/projects/components/namespace_select_spec.js index c579aa2f2da..1fcc00489e3 100644 --- a/spec/frontend/pages/admin/projects/components/namespace_select_spec.js +++ b/spec/frontend/pages/admin/projects/components/namespace_select_spec.js @@ -38,7 +38,7 @@ describe('Dropdown select component', () => { it('creates a hidden input if fieldName is provided', () => { mountDropdown({ fieldName: 'namespace-input' }); - expect(findNamespaceInput()).toExist(); + expect(findNamespaceInput().exists()).toBe(true); expect(findNamespaceInput().attributes('name')).toBe('namespace-input'); }); @@ -57,9 +57,9 @@ describe('Dropdown select component', () => { // wait for dropdown options to populate await wrapper.vm.$nextTick(); - expect(findDropdownOption('user: Administrator')).toExist(); - expect(findDropdownOption('group: GitLab Org')).toExist(); - expect(findDropdownOption('group: Foobar')).not.toExist(); + expect(findDropdownOption('user: Administrator').exists()).toBe(true); + expect(findDropdownOption('group: GitLab Org').exists()).toBe(true); + expect(findDropdownOption('group: Foobar').exists()).toBe(false); findDropdownOption('user: Administrator').trigger('click'); await wrapper.vm.$nextTick(); diff --git a/spec/frontend/pages/dashboard/todos/index/todos_spec.js b/spec/frontend/pages/dashboard/todos/index/todos_spec.js index de8b29d54fc..5bba98bdf96 100644 --- a/spec/frontend/pages/dashboard/todos/index/todos_spec.js +++ b/spec/frontend/pages/dashboard/todos/index/todos_spec.js @@ -94,13 +94,13 @@ describe('Todos', () => { }); it('updates pending text', () => { - expect(document.querySelector('.todos-pending .badge').innerHTML).toEqual( + expect(document.querySelector('.js-todos-pending .badge').innerHTML).toEqual( addDelimiter(TEST_COUNT_BIG), ); }); it('updates done text', () => { - expect(document.querySelector('.todos-done .badge').innerHTML).toEqual( + expect(document.querySelector('.js-todos-done .badge').innerHTML).toEqual( addDelimiter(TEST_DONE_COUNT_BIG), ); }); diff --git a/spec/frontend/pages/projects/learn_gitlab/components/__snapshots__/learn_gitlab_spec.js.snap b/spec/frontend/pages/projects/learn_gitlab/components/__snapshots__/learn_gitlab_spec.js.snap index 3aa0e99a858..3e371a8765f 100644 --- a/spec/frontend/pages/projects/learn_gitlab/components/__snapshots__/learn_gitlab_spec.js.snap +++ b/spec/frontend/pages/projects/learn_gitlab/components/__snapshots__/learn_gitlab_spec.js.snap @@ -135,6 +135,7 @@ exports[`Learn GitLab renders correctly 1`] = ` <a class="gl-link" data-track-action="click_link" + data-track-experiment="change_continuous_onboarding_link_urls" data-track-label="Set up CI/CD" data-track-property="Growth::Conversion::Experiment::LearnGitLab" href="http://example.com/" @@ -156,6 +157,7 @@ exports[`Learn GitLab renders correctly 1`] = ` <a class="gl-link" data-track-action="click_link" + data-track-experiment="change_continuous_onboarding_link_urls" data-track-label="Start a free Ultimate trial" data-track-property="Growth::Conversion::Experiment::LearnGitLab" href="http://example.com/" @@ -177,6 +179,7 @@ exports[`Learn GitLab renders correctly 1`] = ` <a class="gl-link" data-track-action="click_link" + data-track-experiment="change_continuous_onboarding_link_urls" data-track-label="Add code owners" data-track-property="Growth::Conversion::Experiment::LearnGitLab" href="http://example.com/" @@ -205,6 +208,7 @@ exports[`Learn GitLab renders correctly 1`] = ` <a class="gl-link" data-track-action="click_link" + data-track-experiment="change_continuous_onboarding_link_urls" data-track-label="Add merge request approval" data-track-property="Growth::Conversion::Experiment::LearnGitLab" href="http://example.com/" @@ -269,6 +273,7 @@ exports[`Learn GitLab renders correctly 1`] = ` <a class="gl-link" data-track-action="click_link" + data-track-experiment="change_continuous_onboarding_link_urls" data-track-label="Create an issue" data-track-property="Growth::Conversion::Experiment::LearnGitLab" href="http://example.com/" @@ -290,6 +295,7 @@ exports[`Learn GitLab renders correctly 1`] = ` <a class="gl-link" data-track-action="click_link" + data-track-experiment="change_continuous_onboarding_link_urls" data-track-label="Submit a merge request" data-track-property="Growth::Conversion::Experiment::LearnGitLab" href="http://example.com/" @@ -347,6 +353,7 @@ exports[`Learn GitLab renders correctly 1`] = ` <a class="gl-link" data-track-action="click_link" + data-track-experiment="change_continuous_onboarding_link_urls" data-track-label="Run a Security scan using CI/CD" data-track-property="Growth::Conversion::Experiment::LearnGitLab" href="http://example.com/" 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(); + }); + }); }); diff --git a/spec/frontend/pages/shared/wikis/components/wiki_form_spec.js b/spec/frontend/pages/shared/wikis/components/wiki_form_spec.js index 082a8977710..9d510b3d231 100644 --- a/spec/frontend/pages/shared/wikis/components/wiki_form_spec.js +++ b/spec/frontend/pages/shared/wikis/components/wiki_form_spec.js @@ -8,9 +8,11 @@ import waitForPromises from 'helpers/wait_for_promises'; import ContentEditor from '~/content_editor/components/content_editor.vue'; import WikiForm from '~/pages/shared/wikis/components/wiki_form.vue'; import { - WIKI_CONTENT_EDITOR_TRACKING_LABEL, CONTENT_EDITOR_LOADED_ACTION, SAVED_USING_CONTENT_EDITOR_ACTION, + WIKI_CONTENT_EDITOR_TRACKING_LABEL, + WIKI_FORMAT_LABEL, + WIKI_FORMAT_UPDATED_ACTION, } from '~/pages/shared/wikis/constants'; import MarkdownField from '~/vue_shared/components/markdown/field.vue'; @@ -65,7 +67,6 @@ describe('WikiForm', () => { const pageInfoPersisted = { ...pageInfoNew, persisted: true, - title: 'My page', content: ' My page content ', format: 'markdown', @@ -177,7 +178,7 @@ describe('WikiForm', () => { await wrapper.vm.$nextTick(); expect(wrapper.text()).toContain(titleHelpText); - expect(findTitleHelpLink().attributes().href).toEqual(titleHelpLink); + expect(findTitleHelpLink().attributes().href).toBe(titleHelpLink); }, ); @@ -186,7 +187,7 @@ describe('WikiForm', () => { await wrapper.vm.$nextTick(); - expect(findMarkdownHelpLink().attributes().href).toEqual( + expect(findMarkdownHelpLink().attributes().href).toBe( '/help/user/markdown#wiki-specific-markdown', ); }); @@ -220,8 +221,8 @@ describe('WikiForm', () => { expect(e.preventDefault).not.toHaveBeenCalled(); }); - it('does not trigger tracking event', async () => { - expect(trackingSpy).not.toHaveBeenCalled(); + it('triggers wiki format tracking event', async () => { + expect(trackingSpy).toHaveBeenCalledTimes(1); }); it('does not trim page content', () => { @@ -273,7 +274,7 @@ describe('WikiForm', () => { ({ persisted, redirectLink }) => { createWrapper(persisted); - expect(findCancelButton().attributes().href).toEqual(redirectLink); + expect(findCancelButton().attributes().href).toBe(redirectLink); }, ); }); @@ -438,7 +439,7 @@ describe('WikiForm', () => { }); }); - it('triggers tracking event on form submit', async () => { + it('triggers tracking events on form submit', async () => { triggerFormSubmit(); await wrapper.vm.$nextTick(); @@ -446,6 +447,15 @@ describe('WikiForm', () => { expect(trackingSpy).toHaveBeenCalledWith(undefined, SAVED_USING_CONTENT_EDITOR_ACTION, { label: WIKI_CONTENT_EDITOR_TRACKING_LABEL, }); + + expect(trackingSpy).toHaveBeenCalledWith(undefined, WIKI_FORMAT_UPDATED_ACTION, { + label: WIKI_FORMAT_LABEL, + value: findFormat().element.value, + extra: { + old_format: pageInfoPersisted.format, + project_path: pageInfoPersisted.path, + }, + }); }); it('updates content from content editor on form submit', async () => { |