summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/services/quick_actions/interpret_service.rb5
-rw-r--r--spec/services/quick_actions/interpret_service_spec.rb32
2 files changed, 31 insertions, 6 deletions
diff --git a/app/services/quick_actions/interpret_service.rb b/app/services/quick_actions/interpret_service.rb
index 6345f78af90..f8dccfa465d 100644
--- a/app/services/quick_actions/interpret_service.rb
+++ b/app/services/quick_actions/interpret_service.rb
@@ -583,8 +583,9 @@ module QuickActions
end
desc 'Tag this commit.'
- explanation do |(tag_name), _|
- "Tags this commit to #{tag_name}."
+ explanation do |(tag_name, message)|
+ with_message = %{ with "#{message}"} if message.present?
+ "Tags this commit to #{tag_name}#{with_message}."
end
params 'v1.2.3 <message>'
parse_params do |tag_name_and_message|
diff --git a/spec/services/quick_actions/interpret_service_spec.rb b/spec/services/quick_actions/interpret_service_spec.rb
index e83648d5111..be209c41c0f 100644
--- a/spec/services/quick_actions/interpret_service_spec.rb
+++ b/spec/services/quick_actions/interpret_service_spec.rb
@@ -1356,12 +1356,36 @@ describe QuickActions::InterpretService do
end
describe 'tag a commit' do
- let(:content) { '/tag 1.2.3 some message' }
+ describe 'with a tag name' do
+ context 'without a message' do
+ let(:content) { '/tag v1.2.3' }
- it 'includes the tag name' do
- _, explanations = service.explain(content, commit)
+ it 'includes the tag name only' do
+ _, explanations = service.explain(content, commit)
- expect(explanations).to eq(["Tags this commit to 1.2.3."])
+ expect(explanations).to eq(["Tags this commit to v1.2.3."])
+ end
+ end
+
+ context 'with an empty message' do
+ let(:content) { '/tag v1.2.3 ' }
+
+ it 'includes the tag name only' do
+ _, explanations = service.explain(content, commit)
+
+ expect(explanations).to eq(["Tags this commit to v1.2.3."])
+ end
+ end
+ end
+
+ describe 'with a tag name and message' do
+ let(:content) { '/tag v1.2.3 Stable release' }
+
+ it 'includes the tag name and message' do
+ _, explanations = service.explain(content, commit)
+
+ expect(explanations).to eq(["Tags this commit to v1.2.3 with \"Stable release\"."])
+ end
end
end
end