summaryrefslogtreecommitdiff
path: root/spec/frontend/google_tag_manager/index_spec.js
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.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/frontend/google_tag_manager/index_spec.js b/spec/frontend/google_tag_manager/index_spec.js
index 6412fe8bb33..50811f43fc3 100644
--- a/spec/frontend/google_tag_manager/index_spec.js
+++ b/spec/frontend/google_tag_manager/index_spec.js
@@ -13,6 +13,7 @@ import {
trackCheckout,
trackTransaction,
trackAddToCartUsageTab,
+ getNamespaceId,
} from '~/google_tag_manager';
import { setHTMLFixture, resetHTMLFixture } from 'helpers/fixtures';
import { logError } from '~/lib/logger';
@@ -401,6 +402,7 @@ describe('~/google_tag_manager/index', () => {
{
brand: 'GitLab',
category: 'DevOps',
+ dimension36: 'not available',
id,
name,
price: revenue.toString(),
@@ -478,4 +480,26 @@ describe('~/google_tag_manager/index', () => {
resetHTMLFixture();
});
});
+
+ describe('when getting the namespace_id from Snowplow standard context', () => {
+ describe('when window.gl.snowplowStandardContext.data.namespace_id has a value', () => {
+ beforeEach(() => {
+ window.gl = { snowplowStandardContext: { data: { namespace_id: '321' } } };
+ });
+
+ it('returns the value', () => {
+ expect(getNamespaceId()).toBe('321');
+ });
+ });
+
+ describe('when window.gl.snowplowStandardContext.data.namespace_id is undefined', () => {
+ beforeEach(() => {
+ window.gl = {};
+ });
+
+ it('returns a placeholder value', () => {
+ expect(getNamespaceId()).toBe('not available');
+ });
+ });
+ });
});