From e88f464d275e743af590b4dac6f8a636023ed9b7 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Thu, 1 Nov 2018 17:19:12 +0900 Subject: [PATCH] Fix weird virtual deployment status --- app/models/ci/build.rb | 12 +++++------- spec/models/ci/build_spec.rb | 34 ++++++++++++++-------------------- 2 files changed, 19 insertions(+), 27 deletions(-) diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 15130308e10..b207b427c1e 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 1be1602fe36..5fa3059e55f 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 -- GitLab