diff options
author | Luke "Jared" Bennett <lbennett@gitlab.com> | 2017-07-20 17:34:04 +0100 |
---|---|---|
committer | Luke "Jared" Bennett <lbennett@gitlab.com> | 2017-07-20 17:51:07 +0100 |
commit | 6448368b5b71d9c93b865d2cad0206b475db4553 (patch) | |
tree | ac26a315400e40ceba27eb37cadef461f2d77e54 /spec/models/commit_status_spec.rb | |
parent | 115ffa3749300b58d7161610e27a41b844b3fb80 (diff) | |
parent | 7f78a78a36a4341680a71afa5a12a1f4d4876c66 (diff) | |
download | gitlab-ce-6448368b5b71d9c93b865d2cad0206b475db4553.tar.gz |
Merge remote-tracking branch 'origin/master' into ide
Diffstat (limited to 'spec/models/commit_status_spec.rb')
-rw-r--r-- | spec/models/commit_status_spec.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/spec/models/commit_status_spec.rb b/spec/models/commit_status_spec.rb index 9262ce08987..1e074c7ad26 100644 --- a/spec/models/commit_status_spec.rb +++ b/spec/models/commit_status_spec.rb @@ -284,6 +284,41 @@ describe CommitStatus, :models do end end + describe '.status' do + context 'when there are multiple statuses present' do + before do + create_status(status: 'running') + create_status(status: 'success') + create_status(allow_failure: true, status: 'failed') + end + + it 'returns a correct compound status' do + expect(described_class.all.status).to eq 'running' + end + end + + context 'when there are only allowed to fail commit statuses present' do + before do + create_status(allow_failure: true, status: 'failed') + end + + it 'returns status that indicates success' do + expect(described_class.all.status).to eq 'success' + end + end + + context 'when using a scope to select latest statuses' do + before do + create_status(name: 'test', retried: true, status: 'failed') + create_status(allow_failure: true, name: 'test', status: 'failed') + end + + it 'returns status according to the scope' do + expect(described_class.latest.status).to eq 'success' + end + end + end + describe '#before_sha' do subject { commit_status.before_sha } |