diff --git a/app/services/quick_actions/target_service.rb b/app/services/quick_actions/target_service.rb index b29b141a309..d8ba52c6e50 100644 --- a/app/services/quick_actions/target_service.rb +++ b/app/services/quick_actions/target_service.rb @@ -24,8 +24,6 @@ module QuickActions end def commit(type_id) - return nil unless type_id - project.commit(type_id) end end diff --git a/spec/features/commits/user_uses_slash_commands_spec.rb b/spec/features/commits/user_uses_slash_commands_spec.rb index f356155be61..d8359766509 100644 --- a/spec/features/commits/user_uses_slash_commands_spec.rb +++ b/spec/features/commits/user_uses_slash_commands_spec.rb @@ -32,5 +32,15 @@ describe 'Commit > User uses quick actions', :js do expect(page).to have_content tag_message expect(page).to have_content truncated_commit_sha end + + describe 'preview', :js do + it 'removes quick action from note and explains it' do + preview_note("/tag #{tag_name} #{tag_message}") + + expect(page).not_to have_content '/tag' + expect(page).to have_content %{Tags this commit to #{tag_name} with "#{tag_message}"} + expect(page).to have_content tag_name + end + end end end diff --git a/spec/services/quick_actions/target_service_spec.rb b/spec/services/quick_actions/target_service_spec.rb index 36de5269dea..abe07ae90ba 100644 --- a/spec/services/quick_actions/target_service_spec.rb +++ b/spec/services/quick_actions/target_service_spec.rb @@ -57,13 +57,19 @@ describe QuickActions::TargetService do context 'for commit' do let(:project) { create(:project, :repository) } - let(:target) { project.commit } + let(:target) { project.commit.parent } let(:target_id) { target.sha } let(:type) { 'Commit' } it_behaves_like 'find target' it_behaves_like 'no target', type_id: 'invalid_sha' - it_behaves_like 'no target', type_id: nil + + context 'with nil target_id' do + let(:target) { project.commit } + let(:target_id) { nil } + + it_behaves_like 'find target' + end end context 'for unknown type' do diff --git a/spec/support/helpers/features/notes_helpers.rb b/spec/support/helpers/features/notes_helpers.rb index 2b9f8b30c60..89517fde6e2 100644 --- a/spec/support/helpers/features/notes_helpers.rb +++ b/spec/support/helpers/features/notes_helpers.rb @@ -20,6 +20,13 @@ module Spec end end end + + def preview_note(text) + page.within('.js-main-target-form') do + fill_in('note[note]', with: text) + click_on('Preview') + end + end end end end