Set a default CI/CD status when it is not known

This commit is contained in:
Grzegorz Bizon 2017-08-22 14:04:34 +02:00
parent 78a0d27e98
commit 37881ebb75
2 changed files with 15 additions and 0 deletions

View file

@ -17,6 +17,10 @@ module Ci
validates :pipeline, presence: true, unless: :importing? validates :pipeline, presence: true, unless: :importing?
validates :name, presence: true, unless: :importing? validates :name, presence: true, unless: :importing?
after_initialize do |stage|
self.status = DEFAULT_STATUS if self.status.nil?
end
state_machine :status, initial: :created do state_machine :status, initial: :created do
event :enqueue do event :enqueue do
transition created: :pending transition created: :pending

View file

@ -38,6 +38,17 @@ describe Ci::Stage, :models do
expect(stage.status).to eq 'success' expect(stage.status).to eq 'success'
end end
end end
context 'when stage status is not defined' do
before do
stage.update_column(:status, nil)
end
it 'sets the default value' do
expect(described_class.find(stage.id).status)
.to eq 'created'
end
end
end end
describe 'update_status' do describe 'update_status' do