summaryrefslogtreecommitdiff
path: root/spec/presenters/ci/pipeline_presenter_spec.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-10-22 11:31:16 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2019-10-22 11:31:16 +0000
commit905c1110b08f93a19661cf42a276c7ea90d0a0ff (patch)
tree756d138db422392c00471ab06acdff92c5a9b69c /spec/presenters/ci/pipeline_presenter_spec.rb
parent50d93f8d1686950fc58dda4823c4835fd0d8c14b (diff)
downloadgitlab-ce-905c1110b08f93a19661cf42a276c7ea90d0a0ff.tar.gz
Add latest changes from gitlab-org/gitlab@12-4-stable-ee
Diffstat (limited to 'spec/presenters/ci/pipeline_presenter_spec.rb')
-rw-r--r--spec/presenters/ci/pipeline_presenter_spec.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/presenters/ci/pipeline_presenter_spec.rb b/spec/presenters/ci/pipeline_presenter_spec.rb
index 7e8bbedcf6d..8cfcd9befb3 100644
--- a/spec/presenters/ci/pipeline_presenter_spec.rb
+++ b/spec/presenters/ci/pipeline_presenter_spec.rb
@@ -176,6 +176,44 @@ describe Ci::PipelinePresenter do
end
end
+ describe '#all_related_merge_request_text' do
+ subject { presenter.all_related_merge_request_text }
+
+ context 'with zero related merge requests (branch pipeline)' do
+ it { is_expected.to eq('No related merge requests found.') }
+ end
+
+ context 'with one related merge request' do
+ let!(:mr_1) { create(:merge_request, project: project, source_project: project) }
+
+ it {
+ is_expected.to eq("1 related merge request: " \
+ "<a class=\"mr-iid\" href=\"#{merge_request_path(mr_1)}\">#{mr_1.to_reference} #{mr_1.title}</a>")
+ }
+ end
+
+ context 'with two related merge requests' do
+ let!(:mr_1) { create(:merge_request, project: project, source_project: project, target_branch: 'staging') }
+ let!(:mr_2) { create(:merge_request, project: project, source_project: project, target_branch: 'feature') }
+
+ it {
+ is_expected.to eq("2 related merge requests: " \
+ "<a class=\"mr-iid\" href=\"#{merge_request_path(mr_2)}\">#{mr_2.to_reference} #{mr_2.title}</a>, " \
+ "<a class=\"mr-iid\" href=\"#{merge_request_path(mr_1)}\">#{mr_1.to_reference} #{mr_1.title}</a>")
+ }
+ end
+ end
+
+ describe '#all_related_merge_requests' do
+ it 'memoizes the returned relation' do
+ query_count = ActiveRecord::QueryRecorder.new do
+ 2.times { presenter.send(:all_related_merge_requests).count }
+ end.count
+
+ expect(query_count).to eq(1)
+ end
+ end
+
describe '#link_to_merge_request' do
subject { presenter.link_to_merge_request }