diff options
Diffstat (limited to 'spec/frontend/wikis_spec.js')
-rw-r--r-- | spec/frontend/wikis_spec.js | 30 |
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, + }, + }); + }); + }); }); |