diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 15130308e109de33ab569a1cd442c04fd9a15ea2..b207b427c1ec231d0f15d4a67ca236afdbe08cec 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -723,7 +723,7 @@ module Ci if success? return successful_deployment_status - elsif complete? && !success? + elsif failed? return :failed end @@ -740,13 +740,11 @@ module Ci end def successful_deployment_status - if success? && deployment&.last? - return :last - elsif success? && deployment.present? - return :out_of_date + if deployment&.last? + :last + else + :out_of_date end - - :creating end def each_report(report_types) diff --git a/spec/models/ci/build_spec.rb b/spec/models/ci/build_spec.rb index 1be1602fe363f526c8e61b7b7856ed4bcf7678a5..5fa3059e55f21a7e293011618e86b7c7d014c66d 100644 --- a/spec/models/ci/build_spec.rb +++ b/spec/models/ci/build_spec.rb @@ -813,33 +813,27 @@ describe Ci::Build do describe '.deployment' do subject { build.deployment } - context 'when there is an old deployment record' do - before do - create(:deployment, deployable: build, project: project) - end - - context 'when there is a deployment record with created status' do - let!(:deployment) { create(:deployment, deployable: build, project: project) } + context 'when there is a deployment record with created status' do + let!(:deployment) { create(:deployment, deployable: build, project: project) } - it 'returns the record' do - is_expected.to eq(deployment) - end + it 'returns the record' do + is_expected.to eq(deployment) end + end - context 'when there is a deployment record with running status' do - let!(:deployment) { create(:deployment, :running, deployable: build, project: project) } + context 'when there is a deployment record with running status' do + let!(:deployment) { create(:deployment, :running, deployable: build, project: project) } - it 'returns the record' do - is_expected.to eq(deployment) - end + it 'returns the record' do + is_expected.to eq(deployment) end + end - context 'when there is a deployment record with success status' do - let!(:deployment) { create(:deployment, :success, deployable: build, project: project) } + context 'when there is a deployment record with success status' do + let!(:deployment) { create(:deployment, :success, deployable: build, project: project) } - it 'returns the record' do - is_expected.to eq(deployment) - end + it 'returns the record' do + is_expected.to eq(deployment) end end end