summaryrefslogtreecommitdiff
path: root/spec/services/quick_actions/interpret_service_spec.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-06-17 21:09:20 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-06-17 21:09:20 +0000
commit3e20234984524c3ccfb09eace7b9d170cbcc32d7 (patch)
tree5586f86210db467613ba99040c96b617066de8c9 /spec/services/quick_actions/interpret_service_spec.rb
parent9a1066298169f8ebecacb9e55fe895f4f8962000 (diff)
downloadgitlab-ce-3e20234984524c3ccfb09eace7b9d170cbcc32d7.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/services/quick_actions/interpret_service_spec.rb')
-rw-r--r--spec/services/quick_actions/interpret_service_spec.rb43
1 files changed, 39 insertions, 4 deletions
diff --git a/spec/services/quick_actions/interpret_service_spec.rb b/spec/services/quick_actions/interpret_service_spec.rb
index 7737e400d93..f7ed6006099 100644
--- a/spec/services/quick_actions/interpret_service_spec.rb
+++ b/spec/services/quick_actions/interpret_service_spec.rb
@@ -321,7 +321,7 @@ RSpec.describe QuickActions::InterpretService do
end
shared_examples 'draft command' do
- it 'returns wip_event: "draft" if content contains /draft' do
+ it 'returns wip_event: "draft"' do
_, updates, _ = service.execute(content, issuable)
expect(updates).to eq(wip_event: 'draft')
@@ -334,8 +334,16 @@ RSpec.describe QuickActions::InterpretService do
end
end
+ shared_examples 'draft/ready command no action' do
+ it 'returns the no action message if there is no change to the status' do
+ _, _, message = service.execute(content, issuable)
+
+ expect(message).to eq("No change to this #{issuable.to_ability_name.humanize(capitalize: false)}'s draft status.")
+ end
+ end
+
shared_examples 'ready command' do
- it 'returns wip_event: "ready" if content contains /draft' do
+ it 'returns wip_event: "ready"' do
issuable.update!(title: issuable.draft_title)
_, updates, _ = service.execute(content, issuable)
@@ -346,7 +354,7 @@ RSpec.describe QuickActions::InterpretService do
issuable.update!(title: issuable.draft_title)
_, _, message = service.execute(content, issuable)
- expect(message).to eq("Unmarked this #{issuable.to_ability_name.humanize(capitalize: false)} as a draft.")
+ expect(message).to eq("Marked this #{issuable.to_ability_name.humanize(capitalize: false)} as ready.")
end
end
@@ -1372,6 +1380,16 @@ RSpec.describe QuickActions::InterpretService do
let(:issuable) { merge_request }
end
+ it_behaves_like 'draft/ready command no action' do
+ let(:content) { '/ready' }
+ let(:issuable) { merge_request }
+ end
+
+ it_behaves_like 'ready command' do
+ let(:content) { '/ready' }
+ let(:issuable) { merge_request }
+ end
+
it_behaves_like 'failed command', 'Could not apply remove_due_date command.' do
let(:content) { '/remove_due_date' }
let(:issuable) { merge_request }
@@ -2687,7 +2705,24 @@ RSpec.describe QuickActions::InterpretService do
it 'includes the new status' do
_, explanations = service.explain(content, merge_request)
- expect(explanations).to eq(['Marks this merge request as a draft.'])
+ expect(explanations).to match_array(['Marks this merge request as a draft.'])
+ end
+ end
+
+ describe 'ready command' do
+ let(:content) { '/ready' }
+
+ it 'includes the new status' do
+ merge_request.update!(title: merge_request.draft_title)
+ _, explanations = service.explain(content, merge_request)
+
+ expect(explanations).to match_array(['Marks this merge request as ready.'])
+ end
+
+ it 'includes the no change message when status unchanged' do
+ _, explanations = service.explain(content, merge_request)
+
+ expect(explanations).to match_array(["No change to this merge request's draft status."])
end
end