Cannot mark a Commit as todo via `/todo`

This commit is contained in:
Peter Leitzen 2018-08-01 17:05:02 +02:00
parent 56ce46674f
commit 2881886417
2 changed files with 24 additions and 11 deletions

View File

@ -301,7 +301,8 @@ module QuickActions
desc 'Add a todo'
explanation 'Adds a todo.'
condition do
issuable.persisted? &&
issuable.is_a?(Issuable) &&
issuable.persisted? &&
!TodoService.new.todo_exist?(issuable, current_user)
end
command :todo do

View File

@ -637,16 +637,6 @@ describe QuickActions::InterpretService do
let(:issuable) { merge_request }
end
it_behaves_like 'todo command' do
let(:content) { '/todo' }
let(:issuable) { issue }
end
it_behaves_like 'todo command' do
let(:content) { '/todo' }
let(:issuable) { merge_request }
end
it_behaves_like 'done command' do
let(:content) { '/done' }
let(:issuable) { issue }
@ -796,6 +786,28 @@ describe QuickActions::InterpretService do
let(:issuable) { issue }
end
context '/todo' do
let(:content) { '/todo' }
context 'if issuable is an Issue' do
it_behaves_like 'todo command' do
let(:issuable) { issue }
end
end
context 'if issuable is a MergeRequest' do
it_behaves_like 'todo command' do
let(:issuable) { merge_request }
end
end
context 'if issuable is a Commit' do
it_behaves_like 'empty command' do
let(:issuable) { commit }
end
end
end
context '/copy_metadata command' do
let(:todo_label) { create(:label, project: project, title: 'To Do') }
let(:inreview_label) { create(:label, project: project, title: 'In Review') }