diff options
author | Stan Hu <stanhu@gmail.com> | 2019-07-09 19:20:27 +0000 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2019-07-09 19:20:27 +0000 |
commit | b2ecc8098a4dce8d1e3d8adfaadec91ad54b0585 (patch) | |
tree | b90efebf2d4ca3cd3467daf502bbe54799065553 /spec/services | |
parent | 48c19d9e296b2bec3663f46b8d936da2082171b1 (diff) | |
parent | 84dd31493ec1a4d1463e13a3dc672f5cf5398aa3 (diff) | |
download | gitlab-ce-b2ecc8098a4dce8d1e3d8adfaadec91ad54b0585.tar.gz |
Merge branch 'osw-bypass-push-rules-for-merge-to-ref' into 'master'
[CE port] Bypass push rules for merge to ref service
See merge request gitlab-org/gitlab-ce!30426
Diffstat (limited to 'spec/services')
-rw-r--r-- | spec/services/merge_requests/merge_service_spec.rb | 13 | ||||
-rw-r--r-- | spec/services/merge_requests/merge_to_ref_service_spec.rb | 13 |
2 files changed, 26 insertions, 0 deletions
diff --git a/spec/services/merge_requests/merge_service_spec.rb b/spec/services/merge_requests/merge_service_spec.rb index aa759ac9edc..22578436c18 100644 --- a/spec/services/merge_requests/merge_service_spec.rb +++ b/spec/services/merge_requests/merge_service_spec.rb @@ -214,6 +214,19 @@ describe MergeRequests::MergeService do allow(Rails.logger).to receive(:error) end + context 'when source is missing' do + it 'logs and saves error' do + allow(merge_request).to receive(:diff_head_sha) { nil } + + error_message = 'No source for merge' + + service.execute(merge_request) + + expect(merge_request.merge_error).to eq(error_message) + expect(Rails.logger).to have_received(:error).with(a_string_matching(error_message)) + end + end + it 'logs and saves error if there is an exception' do error_message = 'error message' diff --git a/spec/services/merge_requests/merge_to_ref_service_spec.rb b/spec/services/merge_requests/merge_to_ref_service_spec.rb index 14012b4ea2d..758679edc45 100644 --- a/spec/services/merge_requests/merge_to_ref_service_spec.rb +++ b/spec/services/merge_requests/merge_to_ref_service_spec.rb @@ -191,6 +191,19 @@ describe MergeRequests::MergeToRefService do it { expect(todo).not_to be_done } end + context 'when source is missing' do + it 'returns error' do + allow(merge_request).to receive(:diff_head_sha) { nil } + + error_message = 'No source for merge' + + result = service.execute(merge_request) + + expect(result[:status]).to eq(:error) + expect(result[:message]).to eq(error_message) + end + end + context 'when target ref is passed as a parameter' do let(:params) { { commit_message: 'merge train', target_ref: target_ref } } |