diff options
Diffstat (limited to 'spec/models/commit_status_spec.rb')
-rw-r--r-- | spec/models/commit_status_spec.rb | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/spec/models/commit_status_spec.rb b/spec/models/commit_status_spec.rb index 35aa9b05b70..3bdeaff475a 100644 --- a/spec/models/commit_status_spec.rb +++ b/spec/models/commit_status_spec.rb @@ -629,30 +629,45 @@ RSpec.describe CommitStatus do end end - describe 'set failure_reason when drop' do + describe '#drop' do let(:commit_status) { create(:commit_status, :created) } + let(:counter) { Gitlab::Metrics.counter(:gitlab_ci_job_failure_reasons, 'desc') } + let(:failure_reason) { reason.to_s } subject do commit_status.drop!(reason) commit_status end + shared_examples 'incrementing failure reason counter' do + it 'increments the counter with the failure_reason' do + expect { subject }.to change { counter.get(reason: failure_reason) }.by(1) + end + end + context 'when failure_reason is nil' do let(:reason) { } + let(:failure_reason) { 'unknown_failure' } it { is_expected.to be_unknown_failure } + + it_behaves_like 'incrementing failure reason counter' end context 'when failure_reason is script_failure' do let(:reason) { :script_failure } it { is_expected.to be_script_failure } + + it_behaves_like 'incrementing failure reason counter' end context 'when failure_reason is unmet_prerequisites' do let(:reason) { :unmet_prerequisites } it { is_expected.to be_unmet_prerequisites } + + it_behaves_like 'incrementing failure reason counter' end end |