Files
gitlabhq/spec/lib/ci/status_spec.rb
T
Kamil TrzcińskiandRémy Coutable 3d9943394e Merge branch 'commit-status-fix' into 'master'
Fix missing ignored? for GenericCommitStatus

This is pretty important fix. We should not release 8.5 without this.

It critical error when handling GenericCommitStatus:
```
undefined method `ignored?' for #<GenericCommitStatus:0x007fe1a2a20fe0>
```

cc @grzesiek 


See merge request !2899
2016-02-19 20:29:53 +01:00

42 lines
1.4 KiB
Ruby

require 'spec_helper'
describe Ci::Status do
describe '.get_status' do
subject { described_class.get_status(statuses) }
[:ci_build, :generic_commit_status].each do |type|
context "for #{type}" do
context 'all successful' do
let(:statuses) { Array.new(2) { create(type, status: :success) } }
it { is_expected.to eq 'success' }
end
context 'at least one failed' do
let(:statuses) { [create(type, status: :success), create(type, status: :failed)] }
it { is_expected.to eq 'failed' }
end
context 'at least one running' do
let(:statuses) { [create(type, status: :success), create(type, status: :running)] }
it { is_expected.to eq 'running' }
end
context 'at least one pending' do
let(:statuses) { [create(type, status: :success), create(type, status: :pending)] }
it { is_expected.to eq 'running' }
end
context 'success and failed but allowed to fail' do
let(:statuses) { [create(type, status: :success), create(type, status: :failed, allow_failure: true)] }
it { is_expected.to eq 'success' }
end
context 'one failed but allowed to fail' do
let(:statuses) { [create(type, status: :failed, allow_failure: true)] }
it { is_expected.to eq 'success' }
end
end
end
end
end