summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/models/merge_request_spec.rb31
1 files changed, 22 insertions, 9 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index fb599e1207d..5baed2946e5 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -496,20 +496,18 @@ describe MergeRequest, models: true do
describe '#all_pipelines' do
shared_examples 'returning pipelines with proper ordering' do
- let!(:pipelines) do
- subject.merge_request_diffs.flat_map do |diff|
- diff.commits.map do |commit|
- create(:ci_empty_pipeline,
- project: subject.source_project,
- sha: commit.id,
- ref: subject.source_branch)
- end
+ let!(:all_pipelines) do
+ subject.all_commits_sha.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(pipelines.reverse)
+ expect(subject.all_pipelines).to eq(all_pipelines.reverse)
end
end
@@ -526,6 +524,21 @@ describe MergeRequest, models: true do
end
end
+ describe '#all_commits_sha' do
+ let(:all_commits_sha) do
+ subject.merge_request_diffs.flat_map(&:commits).map(&:sha).uniq
+ end
+
+ before do
+ subject.update(target_branch: 'markdown')
+ end
+
+ it 'returns all SHA from all merge_request_diffs' do
+ expect(subject.merge_request_diffs.size).to eq(2)
+ expect(subject.all_commits_sha).to eq(all_commits_sha)
+ end
+ end
+
describe '#participants' do
let(:project) { create(:project, :public) }