From f3597fc9f048f07e717ac4cb743a083b219f6258 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Sat, 7 Dec 2019 06:08:15 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- app/presenters/ci/legacy_stage_presenter.rb | 3 ++- .../ci/legacy_stage_presenter_spec.rb | 20 +++++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/presenters/ci/legacy_stage_presenter.rb b/app/presenters/ci/legacy_stage_presenter.rb index 2a60b1280da..56e268cff9f 100644 --- a/app/presenters/ci/legacy_stage_presenter.rb +++ b/app/presenters/ci/legacy_stage_presenter.rb @@ -15,9 +15,10 @@ module Ci private def preload_statuses(statuses) + loaded_statuses = statuses.load statuses.tap do |statuses| # rubocop: disable CodeReuse/ActiveRecord - ActiveRecord::Associations::Preloader.new.preload(preloadable_statuses(statuses), :tags) + ActiveRecord::Associations::Preloader.new.preload(preloadable_statuses(loaded_statuses), %w[tags job_artifacts_archive metadata]) # rubocop: enable CodeReuse/ActiveRecord end end diff --git a/spec/presenters/ci/legacy_stage_presenter_spec.rb b/spec/presenters/ci/legacy_stage_presenter_spec.rb index 932cfacafb1..ccf4e48de6e 100644 --- a/spec/presenters/ci/legacy_stage_presenter_spec.rb +++ b/spec/presenters/ci/legacy_stage_presenter_spec.rb @@ -6,8 +6,8 @@ describe Ci::LegacyStagePresenter do let(:legacy_stage) { create(:ci_stage) } let(:presenter) { described_class.new(legacy_stage) } - let!(:build) { create(:ci_build, :tags, pipeline: legacy_stage.pipeline, stage: legacy_stage.name) } - let!(:retried_build) { create(:ci_build, :tags, :retried, pipeline: legacy_stage.pipeline, stage: legacy_stage.name) } + let!(:build) { create(:ci_build, :tags, :artifacts, pipeline: legacy_stage.pipeline, stage: legacy_stage.name) } + let!(:retried_build) { create(:ci_build, :tags, :artifacts, :retried, pipeline: legacy_stage.pipeline, stage: legacy_stage.name) } before do create(:generic_commit_status, pipeline: legacy_stage.pipeline, stage: legacy_stage.name) @@ -19,6 +19,14 @@ describe Ci::LegacyStagePresenter do it 'preloads build tags' do expect(latest_ordered_statuses.second.association(:tags)).to be_loaded end + + it 'preloads build artifacts archive' do + expect(latest_ordered_statuses.second.association(:job_artifacts_archive)).to be_loaded + end + + it 'preloads build artifacts metadata' do + expect(latest_ordered_statuses.second.association(:metadata)).to be_loaded + end end describe '#retried_ordered_statuses' do @@ -27,5 +35,13 @@ describe Ci::LegacyStagePresenter do it 'preloads build tags' do expect(retried_ordered_statuses.first.association(:tags)).to be_loaded end + + it 'preloads build artifacts archive' do + expect(retried_ordered_statuses.first.association(:job_artifacts_archive)).to be_loaded + end + + it 'preloads build artifacts metadata' do + expect(retried_ordered_statuses.first.association(:metadata)).to be_loaded + end end end