summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/assets/javascripts/helpers/issuables_helper.js8
-rw-r--r--app/assets/javascripts/issue.js8
-rw-r--r--app/assets/javascripts/merge_request.js4
-rw-r--r--spec/javascripts/merge_request_spec.js13
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');