diff options
author | Kamil Trzcinski <ayufan@ayufan.eu> | 2015-07-08 12:38:08 +0200 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2015-07-08 12:39:03 +0200 |
commit | 638a5f492541fa3f658b4fd3090dda624e4cf4c9 (patch) | |
tree | d152e32eb6cf97e20fd4a905b180176fedd5dc83 /spec/models/build_spec.rb | |
parent | 52cc9a572484a87cea542448e6d439b7c6032e04 (diff) | |
download | gitlab-ci-allow-per-job-failure.tar.gz |
Allow to defined per-job allow_failure parameterallow-per-job-failure
It allows to ignore status of specific job when computed for commit
Diffstat (limited to 'spec/models/build_spec.rb')
-rw-r--r-- | spec/models/build_spec.rb | 69 |
1 files changed, 53 insertions, 16 deletions
diff --git a/spec/models/build_spec.rb b/spec/models/build_spec.rb index 8bc9807..7e1c7e9 100644 --- a/spec/models/build_spec.rb +++ b/spec/models/build_spec.rb @@ -2,22 +2,23 @@ # # Table name: builds # -# id :integer not null, primary key -# project_id :integer -# status :string(255) -# finished_at :datetime -# trace :text -# created_at :datetime -# updated_at :datetime -# started_at :datetime -# runner_id :integer -# commit_id :integer -# coverage :float -# commands :text -# options :text -# job_id :integer -# name :string(255) -# deploy :boolean default(FALSE) +# id :integer not null, primary key +# project_id :integer +# status :string(255) +# finished_at :datetime +# trace :text +# created_at :datetime +# updated_at :datetime +# started_at :datetime +# runner_id :integer +# commit_id :integer +# coverage :float +# commands :text +# job_id :integer +# name :string(255) +# deploy :boolean default(FALSE) +# options :text +# allow_failure :boolean default(FALSE), not null # require 'spec_helper' @@ -126,6 +127,42 @@ describe Build do end end + describe :ignored? do + subject { build.ignored? } + + context 'if build is not allowed to fail' do + before { build.allow_failure = false } + + context 'and build.status is success' do + before { build.status = 'success' } + + it { should be_false } + end + + context 'and build.status is failed' do + before { build.status = 'failed' } + + it { should be_false } + end + end + + context 'if build is allowed to fail' do + before { build.allow_failure = true } + + context 'and build.status is success' do + before { build.status = 'success' } + + it { should be_false } + end + + context 'and build.status is failed' do + before { build.status = 'failed' } + + it { should be_true } + end + end + end + describe :trace do subject { build.trace_html } |