diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2017-02-03 17:36:17 +0000 |
---|---|---|
committer | Sean McGivern <sean@mcgivern.me.uk> | 2017-02-03 17:36:17 +0000 |
commit | 0dc365914c682965774e475921117f4aee359a9b (patch) | |
tree | e6ad7c273bc558346d2ff3dfc51d1e22c2b56e3e /spec/services | |
parent | bd8f2b15b3d5267075a626ce86f3a06cc650fcbf (diff) | |
parent | 9bb08a7e53b22d7af8484e3921b6fe51996ca981 (diff) | |
download | gitlab-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.rb | 32 |
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 |