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.js45
1 files changed, 35 insertions, 10 deletions
diff --git a/spec/frontend/google_tag_manager/index_spec.js b/spec/frontend/google_tag_manager/index_spec.js
index 6a7eb1fd9f1..ec9e1ef8e5f 100644
--- a/spec/frontend/google_tag_manager/index_spec.js
+++ b/spec/frontend/google_tag_manager/index_spec.js
@@ -8,13 +8,13 @@ import {
trackSaasTrialSubmit,
trackSaasTrialSkip,
trackSaasTrialGroup,
- trackSaasTrialProject,
trackSaasTrialGetStarted,
trackTrialAcceptTerms,
trackCheckout,
trackTransaction,
trackAddToCartUsageTab,
getNamespaceId,
+ trackCompanyForm,
} from '~/google_tag_manager';
import { setHTMLFixture, resetHTMLFixture } from 'helpers/fixtures';
import { logError } from '~/lib/logger';
@@ -149,9 +149,6 @@ describe('~/google_tag_manager/index', () => {
createTestCase(trackSaasTrialGroup, {
forms: [{ cls: 'js-saas-trial-group', expectation: { event: 'saasTrialGroup' } }],
}),
- createTestCase(trackSaasTrialProject, {
- forms: [{ id: 'new_project', expectation: { event: 'saasTrialProject' } }],
- }),
createTestCase(trackProjectImport, {
links: [
{
@@ -440,6 +437,34 @@ describe('~/google_tag_manager/index', () => {
});
});
});
+
+ describe('when trackCompanyForm is invoked', () => {
+ it('with an ultimate trial', () => {
+ expect(spy).not.toHaveBeenCalled();
+
+ trackCompanyForm('ultimate_trial');
+
+ expect(spy).toHaveBeenCalledTimes(1);
+ expect(spy).toHaveBeenCalledWith({
+ event: 'aboutYourCompanyFormSubmit',
+ aboutYourCompanyType: 'ultimate_trial',
+ });
+ expect(logError).not.toHaveBeenCalled();
+ });
+
+ it('with a free account', () => {
+ expect(spy).not.toHaveBeenCalled();
+
+ trackCompanyForm('free_account');
+
+ expect(spy).toHaveBeenCalledTimes(1);
+ expect(spy).toHaveBeenCalledWith({
+ event: 'aboutYourCompanyFormSubmit',
+ aboutYourCompanyType: 'free_account',
+ });
+ expect(logError).not.toHaveBeenCalled();
+ });
+ });
});
describe.each([
@@ -452,11 +477,11 @@ describe('~/google_tag_manager/index', () => {
});
it('no ops', () => {
- setHTMLFixture(createHTML({ forms: [{ id: 'new_project' }] }));
+ setHTMLFixture(createHTML({ forms: [{ cls: 'js-saas-trial-group' }] }));
- trackSaasTrialProject();
+ trackSaasTrialGroup();
- triggerEvent('#new_project', 'submit');
+ triggerEvent('.js-saas-trial-group', 'submit');
expect(spy).not.toHaveBeenCalled();
expect(logError).not.toHaveBeenCalled();
@@ -477,11 +502,11 @@ describe('~/google_tag_manager/index', () => {
});
it('logs error', () => {
- setHTMLFixture(createHTML({ forms: [{ id: 'new_project' }] }));
+ setHTMLFixture(createHTML({ forms: [{ cls: 'js-saas-trial-group' }] }));
- trackSaasTrialProject();
+ trackSaasTrialGroup();
- triggerEvent('#new_project', 'submit');
+ triggerEvent('.js-saas-trial-group', 'submit');
expect(logError).toHaveBeenCalledWith(
'Unexpected error while pushing to dataLayer',