summaryrefslogtreecommitdiff
path: root/spec/frontend/wikis_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/wikis_spec.js')
-rw-r--r--spec/frontend/wikis_spec.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/frontend/wikis_spec.js b/spec/frontend/wikis_spec.js
index 8c68edafd16..3469be4da1c 100644
--- a/spec/frontend/wikis_spec.js
+++ b/spec/frontend/wikis_spec.js
@@ -1,4 +1,6 @@
+import { escape } from 'lodash';
import Wikis from '~/pages/shared/wikis/wikis';
+import Tracking from '~/tracking';
import { setHTMLFixture } from './helpers/fixtures';
describe('Wikis', () => {
@@ -122,4 +124,32 @@ describe('Wikis', () => {
});
});
});
+
+ describe('trackPageView', () => {
+ const trackingPage = 'projects:wikis:show';
+ const trackingContext = { foo: 'bar' };
+ const showPageHtmlFixture = `
+ <div class="js-wiki-page-content" data-tracking-context="${escape(
+ JSON.stringify(trackingContext),
+ )}"></div>
+ `;
+
+ beforeEach(() => {
+ setHTMLFixture(showPageHtmlFixture);
+ document.body.dataset.page = trackingPage;
+ jest.spyOn(Tracking, 'event').mockImplementation();
+
+ Wikis.trackPageView();
+ });
+
+ it('sends the tracking event and context', () => {
+ expect(Tracking.event).toHaveBeenCalledWith(trackingPage, 'view_wiki_page', {
+ label: 'view_wiki_page',
+ context: {
+ schema: 'iglu:com.gitlab/wiki_page_context/jsonschema/1-0-0',
+ data: trackingContext,
+ },
+ });
+ });
+ });
});