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:
Diffstat (limited to 'spec/frontend/google_tag_manager/index_spec.js')
-rw-r--r--spec/frontend/google_tag_manager/index_spec.js44
1 files changed, 40 insertions, 4 deletions
diff --git a/spec/frontend/google_tag_manager/index_spec.js b/spec/frontend/google_tag_manager/index_spec.js
index 9112b0e17e7..de4a57a7319 100644
--- a/spec/frontend/google_tag_manager/index_spec.js
+++ b/spec/frontend/google_tag_manager/index_spec.js
@@ -1,16 +1,18 @@
import { merge } from 'lodash';
import { v4 as uuidv4 } from 'uuid';
import {
+ trackCombinedGroupProjectForm,
trackFreeTrialAccountSubmissions,
+ trackProjectImport,
trackNewRegistrations,
trackSaasTrialSubmit,
trackSaasTrialSkip,
trackSaasTrialGroup,
trackSaasTrialProject,
- trackSaasTrialProjectImport,
trackSaasTrialGetStarted,
trackCheckout,
trackTransaction,
+ trackAddToCartUsageTab,
} from '~/google_tag_manager';
import { setHTMLFixture } from 'helpers/fixtures';
import { logError } from '~/lib/logger';
@@ -148,20 +150,20 @@ describe('~/google_tag_manager/index', () => {
createTestCase(trackSaasTrialProject, {
forms: [{ id: 'new_project', expectation: { event: 'saasTrialProject' } }],
}),
- createTestCase(trackSaasTrialProjectImport, {
+ createTestCase(trackProjectImport, {
links: [
{
id: 'js-test-btn-0',
cls: 'js-import-project-btn',
attributes: { 'data-platform': 'bitbucket' },
- expectation: { event: 'saasTrialProjectImport', saasProjectImport: 'bitbucket' },
+ expectation: { event: 'projectImport', platform: 'bitbucket' },
},
{
// id is neeeded so we trigger the right element in the test
id: 'js-test-btn-1',
cls: 'js-import-project-btn',
attributes: { 'data-platform': 'github' },
- expectation: { event: 'saasTrialProjectImport', saasProjectImport: 'github' },
+ expectation: { event: 'projectImport', platform: 'github' },
},
],
}),
@@ -173,6 +175,40 @@ describe('~/google_tag_manager/index', () => {
},
],
}),
+ createTestCase(trackAddToCartUsageTab, {
+ links: [
+ {
+ cls: 'js-buy-additional-minutes',
+ expectation: {
+ event: 'EECproductAddToCart',
+ ecommerce: {
+ currencyCode: 'USD',
+ add: {
+ products: [
+ {
+ name: 'CI/CD Minutes',
+ id: '0003',
+ price: '10',
+ brand: 'GitLab',
+ category: 'DevOps',
+ variant: 'add-on',
+ quantity: 1,
+ },
+ ],
+ },
+ },
+ },
+ },
+ ],
+ }),
+ createTestCase(trackCombinedGroupProjectForm, {
+ forms: [
+ {
+ cls: 'js-groups-projects-form',
+ expectation: { event: 'combinedGroupProjectFormSubmit' },
+ },
+ ],
+ }),
])('%p', (subject, { links = [], forms = [], expectedEvents }) => {
beforeEach(() => {
setHTMLFixture(createHTML({ links, forms }));