diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-09-19 21:06:29 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-09-19 21:06:29 +0000 |
commit | b35b9ac7e2fd4a707ea9291eb57769c690403b4c (patch) | |
tree | ae746b64cc7d3a19926e6d4a39a5daeb990a4154 /spec/javascripts/helpers/tracking_helper.js | |
parent | 81f7adf08b4557c38ac2ef1c730e72e07db2f1a3 (diff) | |
download | gitlab-ce-b35b9ac7e2fd4a707ea9291eb57769c690403b4c.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/javascripts/helpers/tracking_helper.js')
-rw-r--r-- | spec/javascripts/helpers/tracking_helper.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/javascripts/helpers/tracking_helper.js b/spec/javascripts/helpers/tracking_helper.js new file mode 100644 index 00000000000..68c1bd2dbca --- /dev/null +++ b/spec/javascripts/helpers/tracking_helper.js @@ -0,0 +1,25 @@ +import Tracking from '~/tracking'; + +export default Tracking; + +let document; +let handlers; + +export function mockTracking(category = '_category_', documentOverride, spyMethod) { + document = documentOverride || window.document; + window.snowplow = () => {}; + Tracking.bindDocument(category, document); + return spyMethod ? spyMethod(Tracking, 'event') : null; +} + +export function unmockTracking() { + window.snowplow = undefined; + handlers.forEach(event => document.removeEventListener(event.name, event.func)); +} + +export function triggerEvent(selectorOrEl, eventName = 'click') { + const event = new Event(eventName, { bubbles: true }); + const el = typeof selectorOrEl === 'string' ? document.querySelector(selectorOrEl) : selectorOrEl; + + el.dispatchEvent(event); +} |