diff options
-rw-r--r-- | app/assets/javascripts/boards/stores/boards_store.js | 4 | ||||
-rw-r--r-- | app/assets/javascripts/labels_select.js | 5 | ||||
-rw-r--r-- | spec/javascripts/boards/boards_store_spec.js | 7 | ||||
-rw-r--r-- | spec/javascripts/boards/issue_spec.js | 18 |
4 files changed, 26 insertions, 8 deletions
diff --git a/app/assets/javascripts/boards/stores/boards_store.js b/app/assets/javascripts/boards/stores/boards_store.js index 01fc1cb5af3..802796208c2 100644 --- a/app/assets/javascripts/boards/stores/boards_store.js +++ b/app/assets/javascripts/boards/stores/boards_store.js @@ -167,9 +167,7 @@ const boardsStore = { return filteredList[0]; }, findListByLabelId(id) { - return this.state.lists.find(list => { - return list.type === 'label' && list.label.id === id; - }); + return this.state.lists.find(list => list.type === 'label' && list.label.id === id); }, updateFiltersUrl() { window.history.pushState(null, null, `?${this.filter.path}`); diff --git a/app/assets/javascripts/labels_select.js b/app/assets/javascripts/labels_select.js index bb0af7de5da..f7a611fbca0 100644 --- a/app/assets/javascripts/labels_select.js +++ b/app/assets/javascripts/labels_select.js @@ -170,7 +170,7 @@ export default class LabelsSelect { axios .get(labelUrl) .then(res => { - let data = res.data; + let { data } = res; if ($dropdown.hasClass('js-extra-options')) { var extraData = []; if (showNo) { @@ -256,7 +256,8 @@ export default class LabelsSelect { } } if (label.color) { - colorEl = "<span class='dropdown-label-box' style='background: " + label.color + "'></span>"; + colorEl = + "<span class='dropdown-label-box' style='background: " + label.color + "'></span>"; } else { colorEl = ''; } diff --git a/spec/javascripts/boards/boards_store_spec.js b/spec/javascripts/boards/boards_store_spec.js index 54f1edfb1f9..22f192bc7f3 100644 --- a/spec/javascripts/boards/boards_store_spec.js +++ b/spec/javascripts/boards/boards_store_spec.js @@ -65,6 +65,13 @@ describe('Store', () => { expect(list).toBeDefined(); }); + it('finds list by label ID', () => { + boardsStore.addList(listObj); + const list = boardsStore.findListByLabelId(listObj.label.id); + + expect(list.id).toBe(listObj.id); + }); + it('gets issue when new list added', done => { boardsStore.addList(listObj); const list = boardsStore.findList('id', listObj.id); diff --git a/spec/javascripts/boards/issue_spec.js b/spec/javascripts/boards/issue_spec.js index 437ab4bb3df..54fb0e8228b 100644 --- a/spec/javascripts/boards/issue_spec.js +++ b/spec/javascripts/boards/issue_spec.js @@ -55,15 +55,27 @@ describe('Issue model', () => { expect(issue.labels.length).toBe(2); }); - it('does not add existing label', () => { + it('does not add label if label id exists', () => { + issue.addLabel({ + id: 1, + title: 'test 2', + color: 'blue', + description: 'testing', + }); + + expect(issue.labels.length).toBe(1); + expect(issue.labels[0].color).toBe('red'); + }); + + it('adds other label with same title', () => { issue.addLabel({ id: 2, title: 'test', color: 'blue', - description: 'bugs!', + description: 'other test', }); - expect(issue.labels.length).toBe(1); + expect(issue.labels.length).toBe(2); }); it('finds label', () => { |