summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2017-02-08 10:28:45 -0600
committerMike Greiling <mike@pixelcog.com>2017-02-08 10:28:45 -0600
commit9a074366e5aad8c7dc93ecb974609698c7e60e18 (patch)
tree6a696879e07558f8d91ecdee2a30cb65bb6fc90c
parent11d33873a8da5f90fd00bf0909dd1e9f8fca1448 (diff)
downloadgitlab-ce-backport-ee-build-fixes.tar.gz
backport fixes for pipelines_store frontend specsbackport-ee-build-fixes
-rw-r--r--app/assets/javascripts/commit/pipelines/pipelines_store.js.es62
-rw-r--r--app/assets/javascripts/vue_realtime_listener/index.js.es611
-rw-r--r--spec/javascripts/commit/pipelines/pipelines_store_spec.js.es63
3 files changed, 15 insertions, 1 deletions
diff --git a/app/assets/javascripts/commit/pipelines/pipelines_store.js.es6 b/app/assets/javascripts/commit/pipelines/pipelines_store.js.es6
index 11a3449d99a..f1b41911b73 100644
--- a/app/assets/javascripts/commit/pipelines/pipelines_store.js.es6
+++ b/app/assets/javascripts/commit/pipelines/pipelines_store.js.es6
@@ -26,7 +26,7 @@ class PipelinesStore {
*/
startTimeAgoLoops() {
const startTimeLoops = () => {
- this.timeLoopInterval = setInterval(function timeloopInterval() {
+ this.timeLoopInterval = setInterval(() => {
this.$children[0].$children.reduce((acc, component) => {
const timeAgoComponent = component.$children.filter(el => el.$options._componentTag === 'time-ago')[0];
acc.push(timeAgoComponent);
diff --git a/app/assets/javascripts/vue_realtime_listener/index.js.es6 b/app/assets/javascripts/vue_realtime_listener/index.js.es6
index 95564152cce..30f6680a673 100644
--- a/app/assets/javascripts/vue_realtime_listener/index.js.es6
+++ b/app/assets/javascripts/vue_realtime_listener/index.js.es6
@@ -14,5 +14,16 @@
window.addEventListener('focus', startIntervals);
window.addEventListener('blur', removeIntervals);
document.addEventListener('beforeunload', removeAll);
+
+ // add removeAll methods to stack
+ const stack = gl.VueRealtimeListener.reset;
+ gl.VueRealtimeListener.reset = () => {
+ gl.VueRealtimeListener.reset = stack;
+ removeAll();
+ stack();
+ };
};
+
+ // remove all event listeners and intervals
+ gl.VueRealtimeListener.reset = () => undefined; // noop
})(window.gl || (window.gl = {}));
diff --git a/spec/javascripts/commit/pipelines/pipelines_store_spec.js.es6 b/spec/javascripts/commit/pipelines/pipelines_store_spec.js.es6
index 559723bafcc..789f5dc9f49 100644
--- a/spec/javascripts/commit/pipelines/pipelines_store_spec.js.es6
+++ b/spec/javascripts/commit/pipelines/pipelines_store_spec.js.es6
@@ -7,6 +7,9 @@ describe('Store', () => {
store = new gl.commits.pipelines.PipelinesStore();
});
+ // unregister intervals and event handlers
+ afterEach(() => gl.VueRealtimeListener.reset());
+
it('should start with a blank state', () => {
expect(store.state.pipelines.length).toBe(0);
});