diff options
Diffstat (limited to 'spec/frontend/pages')
14 files changed, 146 insertions, 114 deletions
diff --git a/spec/frontend/pages/admin/jobs/index/components/stop_jobs_modal_spec.js b/spec/frontend/pages/admin/jobs/index/components/stop_jobs_modal_spec.js index fb7a07b7bc7..c662fb7ba4a 100644 --- a/spec/frontend/pages/admin/jobs/index/components/stop_jobs_modal_spec.js +++ b/spec/frontend/pages/admin/jobs/index/components/stop_jobs_modal_spec.js @@ -1,9 +1,9 @@ import Vue from 'vue'; -import { redirectTo } from '~/lib/utils/url_utility'; import mountComponent from 'helpers/vue_mount_component_helper'; +import { TEST_HOST } from 'jest/helpers/test_constants'; +import { redirectTo } from '~/lib/utils/url_utility'; import axios from '~/lib/utils/axios_utils'; import stopJobsModal from '~/pages/admin/jobs/index/components/stop_jobs_modal.vue'; -import { TEST_HOST } from 'jest/helpers/test_constants'; jest.mock('~/lib/utils/url_utility', () => ({ ...jest.requireActual('~/lib/utils/url_utility'), diff --git a/spec/frontend/pages/admin/users/components/__snapshots__/delete_user_modal_spec.js.snap b/spec/frontend/pages/admin/users/components/__snapshots__/delete_user_modal_spec.js.snap index 82589e5147c..fc37a545511 100644 --- a/spec/frontend/pages/admin/users/components/__snapshots__/delete_user_modal_spec.js.snap +++ b/spec/frontend/pages/admin/users/components/__snapshots__/delete_user_modal_spec.js.snap @@ -37,29 +37,35 @@ exports[`User Operation confirmation modal renders modal with form included 1`] value="" /> </form> - <gl-deprecated-button-stub - size="md" - variant="secondary" + <gl-button-stub + category="primary" + icon="" + size="medium" + variant="default" > Cancel - </gl-deprecated-button-stub> + </gl-button-stub> - <gl-deprecated-button-stub + <gl-button-stub + category="primary" disabled="true" - size="md" + icon="" + size="medium" variant="warning" > secondaryAction - </gl-deprecated-button-stub> + </gl-button-stub> - <gl-deprecated-button-stub + <gl-button-stub + category="primary" disabled="true" - size="md" + icon="" + size="medium" variant="danger" > action - </gl-deprecated-button-stub> + </gl-button-stub> </div> `; diff --git a/spec/frontend/pages/admin/users/components/delete_user_modal_spec.js b/spec/frontend/pages/admin/users/components/delete_user_modal_spec.js index 16b0bd305cd..3efefa8137f 100644 --- a/spec/frontend/pages/admin/users/components/delete_user_modal_spec.js +++ b/spec/frontend/pages/admin/users/components/delete_user_modal_spec.js @@ -1,5 +1,5 @@ import { shallowMount } from '@vue/test-utils'; -import { GlDeprecatedButton, GlFormInput } from '@gitlab/ui'; +import { GlButton, GlFormInput } from '@gitlab/ui'; import DeleteUserModal from '~/pages/admin/users/components/delete_user_modal.vue'; import ModalStub from './stubs/modal_stub'; @@ -13,7 +13,7 @@ describe('User Operation confirmation modal', () => { const findButton = variant => wrapper - .findAll(GlDeprecatedButton) + .findAll(GlButton) .filter(w => w.attributes('variant') === variant) .at(0); const findForm = () => wrapper.find('form'); diff --git a/spec/frontend/pages/dashboard/projects/index/components/customize_homepage_banner_spec.js b/spec/frontend/pages/dashboard/projects/index/components/customize_homepage_banner_spec.js new file mode 100644 index 00000000000..b3a297ac2c5 --- /dev/null +++ b/spec/frontend/pages/dashboard/projects/index/components/customize_homepage_banner_spec.js @@ -0,0 +1,50 @@ +import { shallowMount } from '@vue/test-utils'; +import { GlBanner } from '@gitlab/ui'; +import MockAdapter from 'axios-mock-adapter'; +import CustomizeHomepageBanner from '~/pages/dashboard/projects/index/components/customize_homepage_banner.vue'; +import axios from '~/lib/utils/axios_utils'; + +const svgPath = '/illustrations/background'; +const provide = { + svgPath, + preferencesBehaviorPath: 'some/behavior/path', + calloutsPath: 'call/out/path', + calloutsFeatureId: 'some-feature-id', +}; + +const createComponent = () => { + return shallowMount(CustomizeHomepageBanner, { provide }); +}; + +describe('CustomizeHomepageBanner', () => { + let mockAxios; + let wrapper; + + beforeEach(() => { + mockAxios = new MockAdapter(axios); + wrapper = createComponent(); + }); + + afterEach(() => { + wrapper.destroy(); + wrapper = null; + mockAxios.restore(); + }); + + it('should render the banner when not dismissed', () => { + expect(wrapper.contains(GlBanner)).toBe(true); + }); + + it('should close the banner when dismiss is clicked', async () => { + mockAxios.onPost(provide.calloutsPath).replyOnce(200); + expect(wrapper.contains(GlBanner)).toBe(true); + wrapper.find(GlBanner).vm.$emit('close'); + + await wrapper.vm.$nextTick(); + expect(wrapper.contains(GlBanner)).toBe(false); + }); + + it('includes the body text from options', () => { + expect(wrapper.html()).toContain(wrapper.vm.$options.i18n.body); + }); +}); diff --git a/spec/frontend/pages/labels/components/promote_label_modal_spec.js b/spec/frontend/pages/labels/components/promote_label_modal_spec.js index d4aabcc02f4..1fa12cf1365 100644 --- a/spec/frontend/pages/labels/components/promote_label_modal_spec.js +++ b/spec/frontend/pages/labels/components/promote_label_modal_spec.js @@ -1,9 +1,9 @@ import Vue from 'vue'; import mountComponent from 'helpers/vue_mount_component_helper'; +import { TEST_HOST } from 'jest/helpers/test_constants'; import promoteLabelModal from '~/pages/projects/labels/components/promote_label_modal.vue'; import eventHub from '~/pages/projects/labels/event_hub'; import axios from '~/lib/utils/axios_utils'; -import { TEST_HOST } from 'jest/helpers/test_constants'; describe('Promote label modal', () => { let vm; diff --git a/spec/frontend/pages/milestones/shared/components/delete_milestone_modal_spec.js b/spec/frontend/pages/milestones/shared/components/delete_milestone_modal_spec.js index c376cf02594..1d9a964c3c3 100644 --- a/spec/frontend/pages/milestones/shared/components/delete_milestone_modal_spec.js +++ b/spec/frontend/pages/milestones/shared/components/delete_milestone_modal_spec.js @@ -1,10 +1,10 @@ import Vue from 'vue'; -import { redirectTo } from '~/lib/utils/url_utility'; import mountComponent from 'helpers/vue_mount_component_helper'; +import { TEST_HOST } from 'jest/helpers/test_constants'; +import { redirectTo } from '~/lib/utils/url_utility'; import axios from '~/lib/utils/axios_utils'; import deleteMilestoneModal from '~/pages/milestones/shared/components/delete_milestone_modal.vue'; import eventHub from '~/pages/milestones/shared/event_hub'; -import { TEST_HOST } from 'jest/helpers/test_constants'; jest.mock('~/lib/utils/url_utility', () => ({ ...jest.requireActual('~/lib/utils/url_utility'), diff --git a/spec/frontend/pages/milestones/shared/components/promote_milestone_modal_spec.js b/spec/frontend/pages/milestones/shared/components/promote_milestone_modal_spec.js index 87d32a67d47..e8a6e259837 100644 --- a/spec/frontend/pages/milestones/shared/components/promote_milestone_modal_spec.js +++ b/spec/frontend/pages/milestones/shared/components/promote_milestone_modal_spec.js @@ -1,9 +1,9 @@ import Vue from 'vue'; import mountComponent from 'helpers/vue_mount_component_helper'; +import { TEST_HOST } from 'jest/helpers/test_constants'; import promoteMilestoneModal from '~/pages/milestones/shared/components/promote_milestone_modal.vue'; import eventHub from '~/pages/milestones/shared/event_hub'; import axios from '~/lib/utils/axios_utils'; -import { TEST_HOST } from 'jest/helpers/test_constants'; describe('Promote milestone modal', () => { let vm; diff --git a/spec/frontend/pages/profiles/show/emoji_menu_spec.js b/spec/frontend/pages/profiles/show/emoji_menu_spec.js index 00320fb4601..08fc0b92424 100644 --- a/spec/frontend/pages/profiles/show/emoji_menu_spec.js +++ b/spec/frontend/pages/profiles/show/emoji_menu_spec.js @@ -55,7 +55,7 @@ describe('EmojiMenu', () => { }); }); - it('does not make an axios requst', done => { + it('does not make an axios request', done => { jest.spyOn(axios, 'request').mockReturnValue(); emojiMenu.addAward(dummyVotesBlock(), dummyAwardUrl, dummyEmoji, false, () => { diff --git a/spec/frontend/pages/projects/forks/new/components/fork_groups_list_spec.js b/spec/frontend/pages/projects/forks/new/components/fork_groups_list_spec.js index 979dff78eba..2ec608569e3 100644 --- a/spec/frontend/pages/projects/forks/new/components/fork_groups_list_spec.js +++ b/spec/frontend/pages/projects/forks/new/components/fork_groups_list_spec.js @@ -1,14 +1,14 @@ import AxiosMockAdapter from 'axios-mock-adapter'; -import axios from '~/lib/utils/axios_utils'; import { shallowMount } from '@vue/test-utils'; import { GlLoadingIcon, GlSearchBoxByType } from '@gitlab/ui'; import { nextTick } from 'vue'; -import createFlash from '~/flash'; +import waitForPromises from 'helpers/wait_for_promises'; +import axios from '~/lib/utils/axios_utils'; +import { deprecatedCreateFlash as createFlash } from '~/flash'; import ForkGroupsList from '~/pages/projects/forks/new/components/fork_groups_list.vue'; import ForkGroupsListItem from '~/pages/projects/forks/new/components/fork_groups_list_item.vue'; -import waitForPromises from 'helpers/wait_for_promises'; -jest.mock('~/flash', () => jest.fn()); +jest.mock('~/flash'); describe('Fork groups list component', () => { let wrapper; diff --git a/spec/frontend/pages/projects/graphs/__snapshots__/code_coverage_spec.js.snap b/spec/frontend/pages/projects/graphs/__snapshots__/code_coverage_spec.js.snap index 94089ea922b..211f4ea20f5 100644 --- a/spec/frontend/pages/projects/graphs/__snapshots__/code_coverage_spec.js.snap +++ b/spec/frontend/pages/projects/graphs/__snapshots__/code_coverage_spec.js.snap @@ -9,10 +9,10 @@ exports[`Code Coverage when fetching data is successful matches the snapshot 1`] <!----> - <gl-dropdown-stub + <gl-deprecated-dropdown-stub text="rspec" > - <gl-dropdown-item-stub + <gl-deprecated-dropdown-item-stub value="rspec" > <div @@ -32,8 +32,8 @@ exports[`Code Coverage when fetching data is successful matches the snapshot 1`] </span> </div> - </gl-dropdown-item-stub> - <gl-dropdown-item-stub + </gl-deprecated-dropdown-item-stub> + <gl-deprecated-dropdown-item-stub value="cypress" > <div @@ -49,8 +49,8 @@ exports[`Code Coverage when fetching data is successful matches the snapshot 1`] </span> </div> - </gl-dropdown-item-stub> - <gl-dropdown-item-stub + </gl-deprecated-dropdown-item-stub> + <gl-deprecated-dropdown-item-stub value="karma" > <div @@ -66,8 +66,8 @@ exports[`Code Coverage when fetching data is successful matches the snapshot 1`] </span> </div> - </gl-dropdown-item-stub> - </gl-dropdown-stub> + </gl-deprecated-dropdown-item-stub> + </gl-deprecated-dropdown-stub> </div> <gl-area-chart-stub diff --git a/spec/frontend/pages/projects/graphs/code_coverage_spec.js b/spec/frontend/pages/projects/graphs/code_coverage_spec.js index 30c7ff78c6e..54a080fb62b 100644 --- a/spec/frontend/pages/projects/graphs/code_coverage_spec.js +++ b/spec/frontend/pages/projects/graphs/code_coverage_spec.js @@ -1,12 +1,12 @@ import MockAdapter from 'axios-mock-adapter'; import { shallowMount } from '@vue/test-utils'; -import { GlAlert, GlIcon, GlDropdown, GlDropdownItem } from '@gitlab/ui'; +import { GlAlert, GlIcon, GlDeprecatedDropdown, GlDeprecatedDropdownItem } from '@gitlab/ui'; import { GlAreaChart } from '@gitlab/ui/dist/charts'; +import waitForPromises from 'helpers/wait_for_promises'; import axios from '~/lib/utils/axios_utils'; import CodeCoverage from '~/pages/projects/graphs/components/code_coverage.vue'; import { codeCoverageMockData, sortedDataByDates } from './mock_data'; -import waitForPromises from 'helpers/wait_for_promises'; import httpStatusCodes from '~/lib/utils/http_status'; describe('Code Coverage', () => { @@ -17,7 +17,7 @@ describe('Code Coverage', () => { const findAlert = () => wrapper.find(GlAlert); const findAreaChart = () => wrapper.find(GlAreaChart); - const findAllDropdownItems = () => wrapper.findAll(GlDropdownItem); + const findAllDropdownItems = () => wrapper.findAll(GlDeprecatedDropdownItem); const findFirstDropdownItem = () => findAllDropdownItems().at(0); const findSecondDropdownItem = () => findAllDropdownItems().at(1); @@ -124,7 +124,7 @@ describe('Code Coverage', () => { }); it('renders the dropdown with all custom names as options', () => { - expect(wrapper.contains(GlDropdown)).toBeDefined(); + expect(wrapper.contains(GlDeprecatedDropdown)).toBeDefined(); expect(findAllDropdownItems()).toHaveLength(codeCoverageMockData.length); expect(findFirstDropdownItem().text()).toBe(codeCoverageMockData[0].group_name); }); diff --git a/spec/frontend/pages/projects/pipeline_schedules/shared/components/timezone_dropdown_spec.js b/spec/frontend/pages/projects/pipeline_schedules/shared/components/timezone_dropdown_spec.js index 8917251d285..4c73225b54c 100644 --- a/spec/frontend/pages/projects/pipeline_schedules/shared/components/timezone_dropdown_spec.js +++ b/spec/frontend/pages/projects/pipeline_schedules/shared/components/timezone_dropdown_spec.js @@ -1,5 +1,5 @@ import $ from 'jquery'; -import GLDropdown from '~/gl_dropdown'; // eslint-disable-line no-unused-vars +import '~/gl_dropdown'; import TimezoneDropdown, { formatUtcOffset, formatTimezone, diff --git a/spec/frontend/pages/projects/shared/permissions/components/settings_panel_spec.js b/spec/frontend/pages/projects/shared/permissions/components/settings_panel_spec.js index 1f7eec567b8..a50ceed5d09 100644 --- a/spec/frontend/pages/projects/shared/permissions/components/settings_panel_spec.js +++ b/spec/frontend/pages/projects/shared/permissions/components/settings_panel_spec.js @@ -6,6 +6,8 @@ import { visibilityLevelDescriptions, visibilityOptions, } from '~/pages/projects/shared/permissions/constants'; +import projectFeatureSetting from '~/pages/projects/shared/permissions/components/project_feature_setting.vue'; +import projectFeatureToggle from '~/vue_shared/components/toggle_button.vue'; const defaultProps = { currentSettings: { @@ -65,7 +67,13 @@ describe('Settings Panel', () => { return mountComponent({ ...extraProps, currentSettings: currentSettingsProps }); }; - const findLFSSettingsMessage = () => wrapper.find({ ref: 'git-lfs-settings' }).find('p'); + const findLFSSettingsRow = () => wrapper.find({ ref: 'git-lfs-settings' }); + const findLFSSettingsMessage = () => findLFSSettingsRow().find('p'); + const findLFSFeatureToggle = () => findLFSSettingsRow().find(projectFeatureToggle); + + const findRepositoryFeatureProjectRow = () => wrapper.find({ ref: 'repository-settings' }); + const findRepositoryFeatureSetting = () => + findRepositoryFeatureProjectRow().find(projectFeatureSetting); beforeEach(() => { wrapper = mountComponent(); @@ -154,7 +162,7 @@ describe('Settings Panel', () => { it('should set the repository help text when the visibility level is set to private', () => { wrapper = overrideCurrentSettings({ visibilityLevel: visibilityOptions.PRIVATE }); - expect(wrapper.find({ ref: 'repository-settings' }).props().helpText).toEqual( + expect(findRepositoryFeatureProjectRow().props().helpText).toBe( 'View and edit files in this project', ); }); @@ -162,7 +170,7 @@ describe('Settings Panel', () => { it('should set the repository help text with a read access warning when the visibility level is set to non-private', () => { wrapper = overrideCurrentSettings({ visibilityLevel: visibilityOptions.PUBLIC }); - expect(wrapper.find({ ref: 'repository-settings' }).props().helpText).toEqual( + expect(findRepositoryFeatureProjectRow().props().helpText).toBe( 'View and edit files in this project. Non-project members will only have read access', ); }); @@ -176,7 +184,7 @@ describe('Settings Panel', () => { wrapper .find('[name="project[project_feature_attributes][merge_requests_access_level]"]') .props().disabledInput, - ).toEqual(false); + ).toBe(false); }); it('should disable the merge requests access level input when the repository is disabled', () => { @@ -186,7 +194,7 @@ describe('Settings Panel', () => { wrapper .find('[name="project[project_feature_attributes][merge_requests_access_level]"]') .props().disabledInput, - ).toEqual(true); + ).toBe(true); }); }); @@ -197,7 +205,7 @@ describe('Settings Panel', () => { expect( wrapper.find('[name="project[project_feature_attributes][forking_access_level]"]').props() .disabledInput, - ).toEqual(false); + ).toBe(false); }); it('should disable the forking access level input when the repository is disabled', () => { @@ -206,7 +214,7 @@ describe('Settings Panel', () => { expect( wrapper.find('[name="project[project_feature_attributes][forking_access_level]"]').props() .disabledInput, - ).toEqual(true); + ).toBe(true); }); }); @@ -217,7 +225,7 @@ describe('Settings Panel', () => { expect( wrapper.find('[name="project[project_feature_attributes][builds_access_level]"]').props() .disabledInput, - ).toEqual(false); + ).toBe(false); }); it('should disable the builds access level input when the repository is disabled', () => { @@ -226,7 +234,7 @@ describe('Settings Panel', () => { expect( wrapper.find('[name="project[project_feature_attributes][builds_access_level]"]').props() .disabledInput, - ).toEqual(true); + ).toBe(true); }); }); @@ -287,7 +295,7 @@ describe('Settings Panel', () => { expect( wrapper.find('[name="project[container_registry_enabled]"]').props().disabledInput, - ).toEqual(false); + ).toBe(false); }); it('should disable the container registry input when the repository is disabled', () => { @@ -298,7 +306,7 @@ describe('Settings Panel', () => { expect( wrapper.find('[name="project[container_registry_enabled]"]').props().disabledInput, - ).toEqual(true); + ).toBe(true); }); }); @@ -307,7 +315,7 @@ describe('Settings Panel', () => { wrapper.setProps({ lfsAvailable: true }); return wrapper.vm.$nextTick(() => { - expect(wrapper.find({ ref: 'git-lfs-settings' }).exists()).toEqual(true); + expect(findLFSSettingsRow().exists()).toBe(true); }); }); @@ -315,14 +323,12 @@ describe('Settings Panel', () => { wrapper.setProps({ lfsAvailable: false }); return wrapper.vm.$nextTick(() => { - expect(wrapper.find({ ref: 'git-lfs-settings' }).exists()).toEqual(false); + expect(findLFSSettingsRow().exists()).toBe(false); }); }); it('should set the LFS settings help path', () => { - expect(wrapper.find({ ref: 'git-lfs-settings' }).props().helpPath).toBe( - defaultProps.lfsHelpPath, - ); + expect(findLFSSettingsRow().props().helpPath).toBe(defaultProps.lfsHelpPath); }); it('should enable the LFS input when the repository is enabled', () => { @@ -331,7 +337,7 @@ describe('Settings Panel', () => { { lfsAvailable: true }, ); - expect(wrapper.find('[name="project[lfs_enabled]"]').props().disabledInput).toEqual(false); + expect(findLFSFeatureToggle().props().disabledInput).toBe(false); }); it('should disable the LFS input when the repository is disabled', () => { @@ -340,7 +346,27 @@ describe('Settings Panel', () => { { lfsAvailable: true }, ); - expect(wrapper.find('[name="project[lfs_enabled]"]').props().disabledInput).toEqual(true); + expect(findLFSFeatureToggle().props().disabledInput).toBe(true); + }); + + it('should not change lfsEnabled when disabling the repository', async () => { + // mount over shallowMount, because we are aiming to test rendered state of toggle + wrapper = mountComponent({ currentSettings: { lfsEnabled: true } }, mount); + + const repositoryFeatureToggleButton = findRepositoryFeatureSetting().find('button'); + const lfsFeatureToggleButton = findLFSFeatureToggle().find('button'); + const isToggleButtonChecked = toggleButton => toggleButton.classes('is-checked'); + + // assert the initial state + expect(isToggleButtonChecked(lfsFeatureToggleButton)).toBe(true); + expect(isToggleButtonChecked(repositoryFeatureToggleButton)).toBe(true); + + repositoryFeatureToggleButton.trigger('click'); + await wrapper.vm.$nextTick(); + + expect(isToggleButtonChecked(repositoryFeatureToggleButton)).toBe(false); + // LFS toggle should still be checked + expect(isToggleButtonChecked(lfsFeatureToggleButton)).toBe(true); }); describe.each` @@ -364,14 +390,14 @@ describe('Settings Panel', () => { expect(message.text()).toContain( 'LFS objects from this repository are still available to forks', ); - expect(link.text()).toEqual('How do I remove them?'); - expect(link.attributes('href')).toEqual( + expect(link.text()).toBe('How do I remove them?'); + expect(link.attributes('href')).toBe( '/help/topics/git/lfs/index#removing-objects-from-lfs', ); }); } else { it('does not show warning message', () => { - expect(findLFSSettingsMessage().exists()).toEqual(false); + expect(findLFSSettingsMessage().exists()).toBe(false); }); } }, @@ -383,7 +409,7 @@ describe('Settings Panel', () => { wrapper.setProps({ packagesAvailable: true }); return wrapper.vm.$nextTick(() => { - expect(wrapper.find({ ref: 'package-settings' }).exists()).toEqual(true); + expect(wrapper.find({ ref: 'package-settings' }).exists()).toBe(true); }); }); @@ -391,7 +417,7 @@ describe('Settings Panel', () => { wrapper.setProps({ packagesAvailable: false }); return wrapper.vm.$nextTick(() => { - expect(wrapper.find({ ref: 'package-settings' }).exists()).toEqual(false); + expect(wrapper.find({ ref: 'package-settings' }).exists()).toBe(false); }); }); @@ -411,9 +437,7 @@ describe('Settings Panel', () => { { packagesAvailable: true }, ); - expect(wrapper.find('[name="project[packages_enabled]"]').props().disabledInput).toEqual( - false, - ); + expect(wrapper.find('[name="project[packages_enabled]"]').props().disabledInput).toBe(false); }); it('should disable the packages input when the repository is disabled', () => { @@ -422,9 +446,7 @@ describe('Settings Panel', () => { { packagesAvailable: true }, ); - expect(wrapper.find('[name="project[packages_enabled]"]').props().disabledInput).toEqual( - true, - ); + expect(wrapper.find('[name="project[packages_enabled]"]').props().disabledInput).toBe(true); }); }); @@ -503,7 +525,7 @@ describe('Settings Panel', () => { }); it('should contain help text', () => { - expect(wrapper.find({ ref: 'metrics-visibility-settings' }).props().helpText).toEqual( + expect(wrapper.find({ ref: 'metrics-visibility-settings' }).props().helpText).toBe( 'With Metrics Dashboard you can visualize this project performance metrics', ); }); @@ -514,7 +536,7 @@ describe('Settings Panel', () => { const metricsSettingsRow = wrapper.find({ ref: 'metrics-visibility-settings' }); expect(wrapper.vm.metricsOptionsDropdownEnabled).toBe(true); - expect(metricsSettingsRow.find('select').attributes('disabled')).toEqual('disabled'); + expect(metricsSettingsRow.find('select').attributes('disabled')).toBe('disabled'); }); }); }); diff --git a/spec/frontend/pages/sessions/new/signin_tabs_memoizer_spec.js b/spec/frontend/pages/sessions/new/signin_tabs_memoizer_spec.js index 738498edbd3..589ec0ae047 100644 --- a/spec/frontend/pages/sessions/new/signin_tabs_memoizer_spec.js +++ b/spec/frontend/pages/sessions/new/signin_tabs_memoizer_spec.js @@ -1,8 +1,6 @@ +import { useLocalStorageSpy } from 'helpers/local_storage_helper'; import AccessorUtilities from '~/lib/utils/accessor'; import SigninTabsMemoizer from '~/pages/sessions/new/signin_tabs_memoizer'; -import trackData from '~/pages/sessions/new/index'; -import Tracking from '~/tracking'; -import { useLocalStorageSpy } from 'helpers/local_storage_helper'; useLocalStorageSpy(); @@ -99,50 +97,6 @@ describe('SigninTabsMemoizer', () => { }); }); - describe('trackData', () => { - beforeEach(() => { - jest.spyOn(Tracking, 'event').mockImplementation(() => {}); - }); - - describe('with tracking data', () => { - beforeEach(() => { - gon.tracking_data = { - category: 'Growth::Acquisition::Experiment::SignUpFlow', - action: 'start', - label: 'uuid', - property: 'control_group', - }; - trackData(); - }); - - it('should track data when the "click" event of the register tab is triggered', () => { - document.querySelector('a[href="#register-pane"]').click(); - - expect(Tracking.event).toHaveBeenCalledWith( - 'Growth::Acquisition::Experiment::SignUpFlow', - 'start', - { - label: 'uuid', - property: 'control_group', - }, - ); - }); - }); - - describe('without tracking data', () => { - beforeEach(() => { - gon.tracking_data = undefined; - trackData(); - }); - - it('should not track data when the "click" event of the register tab is triggered', () => { - document.querySelector('a[href="#register-pane"]').click(); - - expect(Tracking.event).not.toHaveBeenCalled(); - }); - }); - }); - describe('saveData', () => { beforeEach(() => { memo = { |