diff options
Diffstat (limited to 'spec/models/ci/build_spec.rb')
-rw-r--r-- | spec/models/ci/build_spec.rb | 54 |
1 files changed, 50 insertions, 4 deletions
diff --git a/spec/models/ci/build_spec.rb b/spec/models/ci/build_spec.rb index 5ff9b4dd493..0efb014fdfc 100644 --- a/spec/models/ci/build_spec.rb +++ b/spec/models/ci/build_spec.rb @@ -1151,12 +1151,26 @@ RSpec.describe Ci::Build do end context 'when transits to skipped' do - before do - build.skip! + context 'when cd_skipped_deployment_status is disabled' do + before do + stub_feature_flags(cd_skipped_deployment_status: false) + build.skip! + end + + it 'transits deployment status to canceled' do + expect(deployment).to be_canceled + end end - it 'transits deployment status to canceled' do - expect(deployment).to be_canceled + context 'when cd_skipped_deployment_status is enabled' do + before do + stub_feature_flags(cd_skipped_deployment_status: project) + build.skip! + end + + it 'transits deployment status to skipped' do + expect(deployment).to be_skipped + end end end @@ -4057,6 +4071,38 @@ RSpec.describe Ci::Build do end end + describe '#collect_codequality_reports!' do + subject(:codequality_report) { build.collect_codequality_reports!(Gitlab::Ci::Reports::CodequalityReports.new) } + + it { expect(codequality_report.degradations).to eq({}) } + + context 'when build has a codequality report' do + context 'when there is a codequality report' do + before do + create(:ci_job_artifact, :codequality, job: build, project: build.project) + end + + it 'parses blobs and add the results to the codequality report' do + expect { codequality_report }.not_to raise_error + + expect(codequality_report.degradations_count).to eq(3) + end + end + + context 'when there is an codequality report without errors' do + before do + create(:ci_job_artifact, :codequality_without_errors, job: build, project: build.project) + end + + it 'parses blobs and add the results to the codequality report' do + expect { codequality_report }.not_to raise_error + + expect(codequality_report.degradations_count).to eq(0) + end + end + end + end + describe '#collect_terraform_reports!' do let(:terraform_reports) { Gitlab::Ci::Reports::TerraformReports.new } |