diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-22 12:06:25 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-11-22 12:06:25 +0000 |
commit | 4db9eeb44af5644eb1d080b4ccf4aff8b90656b9 (patch) | |
tree | 4ca630fe181e6c66134579694fc97a60430ff7e9 /spec/models/merge_request_spec.rb | |
parent | 8a3fdede9607c806d88856d46d4f5394b630a006 (diff) | |
download | gitlab-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.rb | 177 |
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 } |