From e5db126a8e3b0310c05b626167c63e553c2a1b43 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Wed, 13 Sep 2017 10:33:21 -0400 Subject: [PATCH] FIX: Small fixes to enable better testing of components --- .../discourse/components/topic-footer-buttons.js.es6 | 2 +- .../discourse/components/topic-timer-info.js.es6 | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/discourse/components/topic-footer-buttons.js.es6 b/app/assets/javascripts/discourse/components/topic-footer-buttons.js.es6 index 13473c0e0f0..e370f0d3379 100644 --- a/app/assets/javascripts/discourse/components/topic-footer-buttons.js.es6 +++ b/app/assets/javascripts/discourse/components/topic-footer-buttons.js.es6 @@ -15,7 +15,7 @@ export default Ember.Component.extend({ @computed showAdminButton() { - return !this.site.mobileView && this.currentUser.get('canManageTopic'); + return !this.site.mobileView && this.currentUser && this.currentUser.get('canManageTopic'); }, @computed('topic.message_archived') diff --git a/app/assets/javascripts/discourse/components/topic-timer-info.js.es6 b/app/assets/javascripts/discourse/components/topic-timer-info.js.es6 index 252b42732db..16ea7518340 100644 --- a/app/assets/javascripts/discourse/components/topic-timer-info.js.es6 +++ b/app/assets/javascripts/discourse/components/topic-timer-info.js.es6 @@ -4,7 +4,7 @@ import Category from 'discourse/models/category'; export default Ember.Component.extend(bufferedRender({ classNames: ['topic-status-info'], - delayedRerender: null, + _delayedRerender: null, rerenderTriggers: [ 'statusType', @@ -58,12 +58,14 @@ export default Ember.Component.extend(bufferedRender({ buffer.push(''); // TODO Sam: concerned this can cause a heavy rerender loop - this.set('delayedRerender', Em.run.later(this, this.rerender, rerenderDelay)); + if (!Ember.testing) { + this._delayedRerender = Ember.run.later(this, this.rerender, rerenderDelay); + } }, willDestroyElement() { - if( this.delayedRerender ) { - Em.run.cancel(this.get('delayedRerender')); + if (this._delayedRerender) { + Em.run.cancel(this._delayedRerender); } },