diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-03-20 21:16:48 +0300 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-03-20 21:16:48 +0300 |
commit | f441b95bb3f1101ff0812e72c20a040e344ae762 (patch) | |
tree | 26696b18a2bf035f5c32e37bb5c3052d6dec8881 | |
parent | 9bfff603fe91f56b0355e102f5d62c8dccc1d9f8 (diff) |
Fix pipeline status for transition between stages
-rw-r--r-- | app/models/concerns/has_status.rb | 1 | ||||
-rw-r--r-- | spec/models/concerns/has_status_spec.rb | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/app/models/concerns/has_status.rb b/app/models/concerns/has_status.rb index 5101cc7e687..0a1a65da05a 100644 --- a/app/models/concerns/has_status.rb +++ b/app/models/concerns/has_status.rb @@ -31,6 +31,7 @@ module HasStatus WHEN (#{builds})=(#{created})+(#{skipped})+(#{pending}) THEN 'pending' WHEN (#{running})+(#{pending})>0 THEN 'running' WHEN (#{manual})>0 THEN 'manual' + WHEN (#{created})>0 THEN 'running' ELSE 'failed' END)" end diff --git a/spec/models/concerns/has_status_spec.rb b/spec/models/concerns/has_status_spec.rb index f134da441c2..f4a7446e662 100644 --- a/spec/models/concerns/has_status_spec.rb +++ b/spec/models/concerns/has_status_spec.rb @@ -110,6 +110,14 @@ describe HasStatus do it { is_expected.to eq 'running' } end + context 'when pipeline is in transition between stages' do + let!(:statuses) do + [create(type, status: :success), create(type, status: :created)] + end + + it { is_expected.to eq 'running' } + end + context 'when one status is a blocking manual action' do let!(:statuses) do [create(type, status: :failed), |