summaryrefslogtreecommitdiff
path: root/spec/services
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2017-02-03 17:36:17 +0000
committerSean McGivern <sean@mcgivern.me.uk>2017-02-03 17:36:17 +0000
commit0dc365914c682965774e475921117f4aee359a9b (patch)
treee6ad7c273bc558346d2ff3dfc51d1e22c2b56e3e /spec/services
parentbd8f2b15b3d5267075a626ce86f3a06cc650fcbf (diff)
parent9bb08a7e53b22d7af8484e3921b6fe51996ca981 (diff)
downloadgitlab-ce-0dc365914c682965774e475921117f4aee359a9b.tar.gz
Merge branch 'Add-a-shash-command-for-target-merge-request-branch' into 'master'
Adds /target_branch slash command functionality for merge requests Closes #23619 See merge request !7216
Diffstat (limited to 'spec/services')
-rw-r--r--spec/services/slash_commands/interpret_service_spec.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/spec/services/slash_commands/interpret_service_spec.rb b/spec/services/slash_commands/interpret_service_spec.rb
index 66fc8fc360b..0b0925983eb 100644
--- a/spec/services/slash_commands/interpret_service_spec.rb
+++ b/spec/services/slash_commands/interpret_service_spec.rb
@@ -653,5 +653,37 @@ describe SlashCommands::InterpretService, services: true do
let(:issuable) { issue }
end
end
+
+ context '/target_branch command' do
+ let(:non_empty_project) { create(:project) }
+ let(:another_merge_request) { create(:merge_request, author: developer, source_project: non_empty_project) }
+ let(:service) { described_class.new(non_empty_project, developer)}
+
+ it 'updates target_branch if /target_branch command is executed' do
+ _, updates = service.execute('/target_branch merge-test', merge_request)
+
+ expect(updates).to eq(target_branch: 'merge-test')
+ end
+
+ it 'handles blanks around param' do
+ _, updates = service.execute('/target_branch merge-test ', merge_request)
+
+ expect(updates).to eq(target_branch: 'merge-test')
+ end
+
+ context 'ignores command with no argument' do
+ it_behaves_like 'empty command' do
+ let(:content) { '/target_branch' }
+ let(:issuable) { another_merge_request }
+ end
+ end
+
+ context 'ignores non-existing target branch' do
+ it_behaves_like 'empty command' do
+ let(:content) { '/target_branch totally_non_existing_branch' }
+ let(:issuable) { another_merge_request }
+ end
+ end
+ end
end
end