Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-11-28 15:07:45 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-11-28 15:07:45 +0300
commita115ce8e49ece901e8222e51ec581cb162b721c6 (patch)
tree1994f386204b776ea0c5cccc4b4a540e66384158 /spec/frontend
parent41ad919dfa526556bf7a3981ee740e236df5a8e7 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend')
-rw-r--r--spec/frontend/groups/components/app_spec.js6
-rw-r--r--spec/frontend/vue_shared/directives/track_event_spec.js55
2 files changed, 38 insertions, 23 deletions
diff --git a/spec/frontend/groups/components/app_spec.js b/spec/frontend/groups/components/app_spec.js
index e32c50db8bf..8ac410c87b1 100644
--- a/spec/frontend/groups/components/app_spec.js
+++ b/spec/frontend/groups/components/app_spec.js
@@ -1,12 +1,10 @@
import { GlModal, GlLoadingIcon } from '@gitlab/ui';
import AxiosMockAdapter from 'axios-mock-adapter';
-import Vue, { nextTick } from 'vue';
+import { nextTick } from 'vue';
import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
import waitForPromises from 'helpers/wait_for_promises';
import { createAlert } from '~/alert';
import appComponent from '~/groups/components/app.vue';
-import groupFolderComponent from '~/groups/components/group_folder.vue';
-import groupItemComponent from 'jh_else_ce/groups/components/group_item.vue';
import eventHub from '~/groups/event_hub';
import GroupsService from '~/groups/service/groups_service';
import GroupsStore from '~/groups/store/groups_store';
@@ -67,8 +65,6 @@ describe('AppComponent', () => {
beforeEach(async () => {
mock = new AxiosMockAdapter(axios);
mock.onGet('/dashboard/groups.json').reply(HTTP_STATUS_OK, mockGroups);
- Vue.component('GroupFolder', groupFolderComponent);
- Vue.component('GroupItem', groupItemComponent);
setWindowLocation('?filter=foobar');
document.body.innerHTML = `
diff --git a/spec/frontend/vue_shared/directives/track_event_spec.js b/spec/frontend/vue_shared/directives/track_event_spec.js
index fc69e884258..8b4a68e394a 100644
--- a/spec/frontend/vue_shared/directives/track_event_spec.js
+++ b/spec/frontend/vue_shared/directives/track_event_spec.js
@@ -1,5 +1,5 @@
import { shallowMount } from '@vue/test-utils';
-import Vue from 'vue';
+import Vue, { nextTick } from 'vue';
import Tracking from '~/tracking';
import TrackEvent from '~/vue_shared/directives/track_event';
@@ -10,34 +10,53 @@ describe('TrackEvent directive', () => {
const clickButton = () => wrapper.find('button').trigger('click');
- const createComponent = (trackingOptions) =>
- Vue.component('DummyElement', {
- directives: {
- TrackEvent,
+ const DummyTrackComponent = Vue.component('DummyTrackComponent', {
+ directives: {
+ TrackEvent,
+ },
+ props: {
+ category: {
+ type: String,
+ required: false,
+ default: '',
},
- data() {
- return {
- trackingOptions,
- };
+ action: {
+ type: String,
+ required: false,
+ default: '',
},
- template: '<button v-track-event="trackingOptions"></button>',
- });
+ label: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ },
+ template: '<button v-track-event="{ category, action, label }"></button>',
+ });
- const mountComponent = (trackingOptions) => shallowMount(createComponent(trackingOptions));
+ const mountComponent = ({ propsData = {} } = {}) => {
+ wrapper = shallowMount(DummyTrackComponent, {
+ propsData,
+ });
+ };
it('does not track the event if required arguments are not provided', () => {
- wrapper = mountComponent();
+ mountComponent();
clickButton();
expect(Tracking.event).not.toHaveBeenCalled();
});
- it('tracks event on click if tracking info provided', () => {
- wrapper = mountComponent({
- category: 'Tracking',
- action: 'click_trackable_btn',
- label: 'Trackable Info',
+ it('tracks event on click if tracking info provided', async () => {
+ mountComponent({
+ propsData: {
+ category: 'Tracking',
+ action: 'click_trackable_btn',
+ label: 'Trackable Info',
+ },
});
+
+ await nextTick();
clickButton();
expect(Tracking.event).toHaveBeenCalledWith('Tracking', 'click_trackable_btn', {