From ecf0215ee7cb650768bcb9b5cc9fbb5e2ff12fc0 Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Wed, 3 Jul 2019 10:08:05 +0200 Subject: [PATCH] DEV: resets page tracking state between tests (#7847) --- .../discourse/initializers/page-tracking.js.es6 | 5 +++++ app/assets/javascripts/discourse/lib/page-tracker.js.es6 | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/discourse/initializers/page-tracking.js.es6 b/app/assets/javascripts/discourse/initializers/page-tracking.js.es6 index 06653ce175..f11760ec6c 100644 --- a/app/assets/javascripts/discourse/initializers/page-tracking.js.es6 +++ b/app/assets/javascripts/discourse/initializers/page-tracking.js.es6 @@ -1,6 +1,7 @@ import { cleanDOM } from "discourse/lib/clean-dom"; import { startPageTracking, + resetPageTracking, googleTagManagerPageChanged } from "discourse/lib/page-tracker"; import { viewTrackingRequired } from "discourse/lib/ajax"; @@ -49,5 +50,9 @@ export default { } }); } + }, + + teardown() { + resetPageTracking(); } }; diff --git a/app/assets/javascripts/discourse/lib/page-tracker.js.es6 b/app/assets/javascripts/discourse/lib/page-tracker.js.es6 index 0c9e9445c9..e6390e08ea 100644 --- a/app/assets/javascripts/discourse/lib/page-tracker.js.es6 +++ b/app/assets/javascripts/discourse/lib/page-tracker.js.es6 @@ -1,6 +1,5 @@ let _started = false; - -const cache = {}; +let cache = {}; let transitionCount = 0; export function setTransient(key, data, count) { @@ -11,6 +10,12 @@ export function getTransient(key) { return cache[key]; } +export function resetPageTracking() { + _started = false; + transitionCount = 0; + cache = {}; +} + export function startPageTracking(router, appEvents) { if (_started) { return;