diff options
author | Phil Hughes <me@iamphill.com> | 2017-06-06 16:27:54 +0100 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2017-06-06 16:27:54 +0100 |
commit | 973e8c0fc50bc6614ca42413555a3f73625c7efa (patch) | |
tree | 61e70ee3ef7180b9ef0dbd0eddd072d0ba4ecde9 | |
parent | e7b4eade0d69a70400a8d18ec72218c7b0bf1517 (diff) | |
download | gitlab-ce-973e8c0fc50bc6614ca42413555a3f73625c7efa.tar.gz |
updated service spec
-rw-r--r-- | app/assets/javascripts/boards/components/modal/footer.js | 3 | ||||
-rw-r--r-- | app/services/boards/lists/list_service.rb | 2 | ||||
-rw-r--r-- | spec/services/boards/lists/list_service_spec.rb | 37 |
3 files changed, 33 insertions, 9 deletions
diff --git a/app/assets/javascripts/boards/components/modal/footer.js b/app/assets/javascripts/boards/components/modal/footer.js index 096b9cb4b38..478a1335b2b 100644 --- a/app/assets/javascripts/boards/components/modal/footer.js +++ b/app/assets/javascripts/boards/components/modal/footer.js @@ -26,7 +26,8 @@ gl.issueBoards.ModalFooter = Vue.extend({ }, methods: { addIssues() { - const list = this.modal.selectedList || this.state.lists[1]; + const firstListIndex = 1; + const list = this.modal.selectedList || this.state.lists[firstListIndex]; const selectedIssues = ModalStore.getSelectedIssues(); const issueIds = selectedIssues.map(issue => issue.globalId); diff --git a/app/services/boards/lists/list_service.rb b/app/services/boards/lists/list_service.rb index 4ec56c3ac4d..df2a01a69e5 100644 --- a/app/services/boards/lists/list_service.rb +++ b/app/services/boards/lists/list_service.rb @@ -2,7 +2,7 @@ module Boards module Lists class ListService < BaseService def execute(board) - board.lists.create(list_type: :backlog) unless board.lists.backlog.any? + board.lists.create(list_type: :backlog) unless board.lists.backlog.exists? board.lists end diff --git a/spec/services/boards/lists/list_service_spec.rb b/spec/services/boards/lists/list_service_spec.rb index 97063381196..99016a8be0c 100644 --- a/spec/services/boards/lists/list_service_spec.rb +++ b/spec/services/boards/lists/list_service_spec.rb @@ -1,16 +1,39 @@ require 'spec_helper' describe Boards::Lists::ListService, services: true do + let(:project) { create(:empty_project) } + let(:board) { create(:board, project: project) } + let(:label) { create(:label, project: project) } + let!(:list) { create(:list, board: board, label: label) } + let(:service) { described_class.new(project, double) } + describe '#execute' do - it "returns board's lists" do - project = create(:empty_project) - board = create(:board, project: project) - label = create(:label, project: project) - list = create(:list, board: board, label: label) + context 'when the board has a backlog list' do + before do + create(:backlog_list, board: board) + end + + it 'does not create a backlog list' do + service.execute(board) + + expect(board.lists.merge(List.backlog)).to eq [board.backlog_list] + end + + it "returns board's lists" do + expect(service.execute(board)).to eq [board.backlog_list, list, board.closed_list] + end + end + + context 'when the board does not have a backlog list' do + it 'creates a backlog list' do + service.execute(board) - service = described_class.new(project, double) + expect(board.backlog_list).not_to be nil + end - expect(service.execute(board)).to eq [board.backlog_list, list, board.closed_list] + it "returns board's lists" do + expect(service.execute(board)).to eq [board.backlog_list, list, board.closed_list] + end end end end |