summaryrefslogtreecommitdiff
path: root/spec/models/merge_request_spec.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-11-22 12:06:25 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-11-22 12:06:25 +0000
commit4db9eeb44af5644eb1d080b4ccf4aff8b90656b9 (patch)
tree4ca630fe181e6c66134579694fc97a60430ff7e9 /spec/models/merge_request_spec.rb
parent8a3fdede9607c806d88856d46d4f5394b630a006 (diff)
downloadgitlab-ce-4db9eeb44af5644eb1d080b4ccf4aff8b90656b9.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/models/merge_request_spec.rb')
-rw-r--r--spec/models/merge_request_spec.rb177
1 files changed, 0 insertions, 177 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index 656753da5f1..53d67113f9e 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -1441,183 +1441,6 @@ describe MergeRequest do
end
end
- describe '#all_pipelines' do
- shared_examples 'returning pipelines with proper ordering' do
- let!(:all_pipelines) do
- subject.all_commit_shas.map do |sha|
- create(:ci_empty_pipeline,
- project: subject.source_project,
- sha: sha,
- ref: subject.source_branch)
- end
- end
-
- it 'returns all pipelines' do
- expect(subject.all_pipelines).not_to be_empty
- expect(subject.all_pipelines).to eq(all_pipelines.reverse)
- end
- end
-
- context 'with single merge_request_diffs' do
- it_behaves_like 'returning pipelines with proper ordering'
- end
-
- context 'with multiple irrelevant merge_request_diffs' do
- before do
- subject.update(target_branch: 'v1.0.0')
- end
-
- it_behaves_like 'returning pipelines with proper ordering'
- end
-
- context 'with unsaved merge request' do
- subject { build(:merge_request) }
-
- let!(:pipeline) do
- create(:ci_empty_pipeline,
- project: subject.project,
- sha: subject.diff_head_sha,
- ref: subject.source_branch)
- end
-
- it 'returns pipelines from diff_head_sha' do
- expect(subject.all_pipelines).to contain_exactly(pipeline)
- end
- end
-
- context 'when pipelines exist for the branch and merge request' do
- let(:source_ref) { 'feature' }
- let(:target_ref) { 'master' }
-
- let!(:branch_pipeline) do
- create(:ci_pipeline,
- source: :push,
- project: project,
- ref: source_ref,
- sha: shas.second)
- end
-
- let!(:detached_merge_request_pipeline) do
- create(:ci_pipeline,
- source: :merge_request_event,
- project: project,
- ref: source_ref,
- sha: shas.second,
- merge_request: merge_request)
- end
-
- let(:merge_request) do
- create(:merge_request,
- source_project: project,
- source_branch: source_ref,
- target_project: project,
- target_branch: target_ref)
- end
-
- let(:project) { create(:project, :repository) }
- let(:shas) { project.repository.commits(source_ref, limit: 2).map(&:id) }
-
- before do
- allow(merge_request).to receive(:all_commit_shas) { shas }
- end
-
- it 'returns merge request pipeline first' do
- expect(merge_request.all_pipelines)
- .to eq([detached_merge_request_pipeline,
- branch_pipeline])
- end
-
- context 'when there are a branch pipeline and a merge request pipeline' do
- let!(:branch_pipeline_2) do
- create(:ci_pipeline,
- source: :push,
- project: project,
- ref: source_ref,
- sha: shas.first)
- end
-
- let!(:detached_merge_request_pipeline_2) do
- create(:ci_pipeline,
- source: :merge_request_event,
- project: project,
- ref: source_ref,
- sha: shas.first,
- merge_request: merge_request)
- end
-
- it 'returns merge request pipelines first' do
- expect(merge_request.all_pipelines)
- .to eq([detached_merge_request_pipeline_2,
- detached_merge_request_pipeline,
- branch_pipeline_2,
- branch_pipeline])
- end
- end
-
- context 'when there are multiple merge request pipelines from the same branch' do
- let!(:branch_pipeline_2) do
- create(:ci_pipeline,
- source: :push,
- project: project,
- ref: source_ref,
- sha: shas.first)
- end
-
- let!(:detached_merge_request_pipeline_2) do
- create(:ci_pipeline,
- source: :merge_request_event,
- project: project,
- ref: source_ref,
- sha: shas.first,
- merge_request: merge_request_2)
- end
-
- let(:merge_request_2) do
- create(:merge_request,
- source_project: project,
- source_branch: source_ref,
- target_project: project,
- target_branch: 'stable')
- end
-
- before do
- allow(merge_request_2).to receive(:all_commit_shas) { shas }
- end
-
- it 'returns only related merge request pipelines' do
- expect(merge_request.all_pipelines)
- .to eq([detached_merge_request_pipeline,
- branch_pipeline_2,
- branch_pipeline])
-
- expect(merge_request_2.all_pipelines)
- .to eq([detached_merge_request_pipeline_2,
- branch_pipeline_2,
- branch_pipeline])
- end
- end
-
- context 'when detached merge request pipeline is run on head ref of the merge request' do
- let!(:detached_merge_request_pipeline) do
- create(:ci_pipeline,
- source: :merge_request_event,
- project: project,
- ref: merge_request.ref_path,
- sha: shas.second,
- merge_request: merge_request)
- end
-
- it 'sets the head ref of the merge request to the pipeline ref' do
- expect(detached_merge_request_pipeline.ref).to match(%r{refs/merge-requests/\d+/head})
- end
-
- it 'includes the detached merge request pipeline even though the ref is custom path' do
- expect(merge_request.all_pipelines).to include(detached_merge_request_pipeline)
- end
- end
- end
- end
-
describe '#update_head_pipeline' do
subject { merge_request.update_head_pipeline }