diff options
-rw-r--r-- | app/assets/javascripts/helpers/issuables_helper.js | 8 | ||||
-rw-r--r-- | app/assets/javascripts/issue.js | 8 | ||||
-rw-r--r-- | app/assets/javascripts/merge_request.js | 4 | ||||
-rw-r--r-- | spec/javascripts/merge_request_spec.js | 13 |
4 files changed, 18 insertions, 15 deletions
diff --git a/app/assets/javascripts/helpers/issuables_helper.js b/app/assets/javascripts/helpers/issuables_helper.js index 68fd8c74bea..52d0f7e43fc 100644 --- a/app/assets/javascripts/helpers/issuables_helper.js +++ b/app/assets/javascripts/helpers/issuables_helper.js @@ -1,6 +1,6 @@ import CloseReopenReportToggle from '../close_reopen_report_toggle'; -export default function initCloseReopenReport() { +function initCloseReopenReport() { const container = document.querySelector('.js-issuable-close-dropdown'); if (!container) return undefined; @@ -19,3 +19,9 @@ export default function initCloseReopenReport() { return closeReopenReportToggle; } + +const IssuablesHelper = { + initCloseReopenReport, +}; + +export default IssuablesHelper; diff --git a/app/assets/javascripts/issue.js b/app/assets/javascripts/issue.js index 912da6ed6c1..f5e97e6e384 100644 --- a/app/assets/javascripts/issue.js +++ b/app/assets/javascripts/issue.js @@ -6,7 +6,7 @@ import '~/lib/utils/text_utility'; import './flash'; import './task_list'; import CreateMergeRequestDropdown from './create_merge_request_dropdown'; -import initCloseReopenReport from './helpers/issuables_helper'; +import IssuablesHelper from './helpers/issuables_helper'; class Issue { constructor() { @@ -98,10 +98,10 @@ class Issue { } initCloseReopenReport() { - this.closeReopenReportToggle = initCloseReopenReport(); + this.closeReopenReportToggle = IssuablesHelper.initCloseReopenReport(); - this.closeButtons = this.closeButtons.not('.issuable-close-button'); - this.reopenButtons = this.reopenButtons.not('.issuable-close-button'); + if (this.closeButtons) this.closeButtons = this.closeButtons.not('.issuable-close-button'); + if (this.reopenButtons) this.reopenButtons = this.reopenButtons.not('.issuable-close-button'); } disableCloseReopenButton($button, shouldDisable) { diff --git a/app/assets/javascripts/merge_request.js b/app/assets/javascripts/merge_request.js index 938c7446a06..8594dc226ec 100644 --- a/app/assets/javascripts/merge_request.js +++ b/app/assets/javascripts/merge_request.js @@ -4,7 +4,7 @@ import 'vendor/jquery.waitforimages'; import './task_list'; import './merge_request_tabs'; -import initCloseReopenReport from './helpers/issuables_helper'; +import IssuablesHelper from './helpers/issuables_helper'; (function() { this.MergeRequest = (function() { @@ -26,7 +26,7 @@ import initCloseReopenReport from './helpers/issuables_helper'; this.initTabs(); this.initMRBtnListeners(); this.initCommitMessageListeners(); - this.closeReopenReportToggle = initCloseReopenReport(); + this.closeReopenReportToggle = IssuablesHelper.initCloseReopenReport(); if ($("a.btn-close").length) { this.taskList = new gl.TaskList({ diff --git a/spec/javascripts/merge_request_spec.js b/spec/javascripts/merge_request_spec.js index 83575b6926c..6ff42e2378d 100644 --- a/spec/javascripts/merge_request_spec.js +++ b/spec/javascripts/merge_request_spec.js @@ -3,6 +3,7 @@ import '~/merge_request'; import CloseReopenReportToggle from '~/close_reopen_report_toggle'; +import IssuablesHelper from '~/helpers/issuables_helper'; (function() { describe('MergeRequest', function() { @@ -31,28 +32,24 @@ import CloseReopenReportToggle from '~/close_reopen_report_toggle'; describe('class constructor', () => { it('calls .initCloseReopenReport', () => { - spyOn(MergeRequest.prototype, 'initCloseReopenReport'); + spyOn(IssuablesHelper, 'initCloseReopenReport'); - const mergeRequest = new MergeRequest(); + new MergeRequest(); // eslint-disable-line no-new - expect(mergeRequest.initCloseReopenReport).toHaveBeenCalled(); + expect(IssuablesHelper.initCloseReopenReport).toHaveBeenCalled(); }); - }); - describe('initCloseReopenReport', () => { it('calls .initDroplab', () => { const container = jasmine.createSpyObj('container', ['querySelector']); const dropdownTrigger = {}; const dropdownList = {}; const button = {}; - const mergeRequest = new MergeRequest(); - spyOn(CloseReopenReportToggle.prototype, 'initDroplab'); spyOn(document, 'querySelector').and.returnValue(container); container.querySelector.and.returnValues(dropdownTrigger, dropdownList, button); - mergeRequest.initCloseReopenReport(); + new MergeRequest(); // eslint-disable-line no-new expect(document.querySelector).toHaveBeenCalledWith('.js-issuable-close-dropdown'); expect(container.querySelector).toHaveBeenCalledWith('.js-issuable-close-toggle'); |