From 8ce4bf20e737482db33f9ad1d37ad8212c6330a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Mon, 30 Jul 2018 17:05:50 +0200 Subject: Improve CommitStatusPresenter --- spec/presenters/commit_status_presenter_spec.rb | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'spec/presenters/commit_status_presenter_spec.rb') diff --git a/spec/presenters/commit_status_presenter_spec.rb b/spec/presenters/commit_status_presenter_spec.rb index f81ee44e371..2b7742ddbb8 100644 --- a/spec/presenters/commit_status_presenter_spec.rb +++ b/spec/presenters/commit_status_presenter_spec.rb @@ -12,4 +12,30 @@ describe CommitStatusPresenter do it 'inherits from Gitlab::View::Presenter::Delegated' do expect(described_class.superclass).to eq(Gitlab::View::Presenter::Delegated) end + + describe 'covers all failure reasons' do + let(:message) { presenter.callout_failure_message } + + CommitStatus.failure_reasons.keys.each do |failure_reason| + context failure_reason do + before do + build.failure_reason = failure_reason + end + + it "is a valid status" do + expect { message }.not_to raise_error + end + end + end + + context 'invalid failure message' do + before do + expect(build).to receive(:failure_reason) { 'invalid failure message' } + end + + it "is an invalid status" do + expect { message }.to raise_error(/key not found:/) + end + end + end end -- cgit v1.2.1