diff options
author | Achilleas Pipinellis <axil@gitlab.com> | 2019-06-04 12:03:48 +0000 |
---|---|---|
committer | Achilleas Pipinellis <axil@gitlab.com> | 2019-06-04 12:03:48 +0000 |
commit | 5fd70f1779fa9ea0bd5eda523833996f71d0e706 (patch) | |
tree | 27aa4cb0a5713aa7bca5eb8a5d1180d00e414089 /spec/models/ci/pipeline_spec.rb | |
parent | 72797b30479b8649cd4e4b42bb940093648daa9c (diff) | |
parent | d2ea615415311e7da1daf6b0a4e5c3a23fb2f1c2 (diff) | |
download | gitlab-ce-patch-66.tar.gz |
Merge branch 'master' into 'patch-66'patch-66
# Conflicts:
# doc/administration/high_availability/gitaly.md
Diffstat (limited to 'spec/models/ci/pipeline_spec.rb')
-rw-r--r-- | spec/models/ci/pipeline_spec.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/models/ci/pipeline_spec.rb b/spec/models/ci/pipeline_spec.rb index a0319b3eb0a..a8701f0efa4 100644 --- a/spec/models/ci/pipeline_spec.rb +++ b/spec/models/ci/pipeline_spec.rb @@ -1381,6 +1381,40 @@ describe Ci::Pipeline, :mailer do end end + describe 'auto merge' do + let(:merge_request) { create(:merge_request, :merge_when_pipeline_succeeds) } + + let(:pipeline) do + create(:ci_pipeline, :running, project: merge_request.source_project, + ref: merge_request.source_branch, + sha: merge_request.diff_head_sha) + end + + before do + merge_request.update_head_pipeline + end + + %w[succeed! drop! cancel! skip!].each do |action| + context "when the pipeline recieved #{action} event" do + it 'performs AutoMergeProcessWorker' do + expect(AutoMergeProcessWorker).to receive(:perform_async).with(merge_request.id) + + pipeline.public_send(action) + end + end + end + + context 'when auto merge is not enabled in the merge request' do + let(:merge_request) { create(:merge_request) } + + it 'performs AutoMergeProcessWorker' do + expect(AutoMergeProcessWorker).not_to receive(:perform_async) + + pipeline.succeed! + end + end + end + def create_build(name, *traits, queued_at: current, started_from: 0, **opts) create(:ci_build, *traits, name: name, |