summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilipa Lacerda <lacerda.filipa@gmail.com>2017-02-08 17:33:37 +0000
committerFilipa Lacerda <lacerda.filipa@gmail.com>2017-02-08 17:33:37 +0000
commite0d93a5a1f8014a3bf4e400d6da9c7f90ee19e7d (patch)
tree28b285c965bed76e733f70f46b22b92da15bb802
parentebf168d023746c3c458d355c3e6db2c54974a9fa (diff)
parent9a074366e5aad8c7dc93ecb974609698c7e60e18 (diff)
downloadgitlab-ce-e0d93a5a1f8014a3bf4e400d6da9c7f90ee19e7d.tar.gz
Merge branch 'backport-ee-build-fixes' into 'master'
Backport fixes for pipelines_store frontend specs Closes #27871 See merge request !9067
-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);
});