Commit fd085bf6 authored by Bob Van Landuyt's avatar Bob Van Landuyt

Refactor `Boards::CreateService` to make it reusable for EE

parent d4accc07
module Boards
class CreateService < BaseService
prepend EE::Boards::CreateService
def execute
if project.boards.empty?
create_board!
else
project.boards.first
end
create_board! if can_create_board?
end
private
def can_create_board?
project.boards.size == 0
end
def create_board!
board = project.boards.create
board = project.boards.create(params)
if board.persisted?
board.lists.create(list_type: :backlog)
board.lists.create(list_type: :closed)
end
board
end
......
......@@ -26,6 +26,8 @@ describe Boards::CreateService, services: true do
end
it 'does not create a new board' do
expect(service).to receive(:can_create_board?) { false }
expect { service.execute }.not_to change(project.boards, :count)
end
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment