Sha256: e993fa230c4dc12d7de8f0bd76fe45858ffb541fcd8da1912d0cb5ecc791ccac

Contents?: true

Size: 1002 Bytes

Versions: 4

Compression:

Stored size: 1002 Bytes

Contents

describe StatusCat::Checkers::Twilio do

  let(:checker) { StatusCat::Checkers::Twilio.new.freeze }

  it_should_behave_like 'a status checker'

  describe '#initialize' do

    it 'tolerates the gem misssing' do
      gem = Object.send(:remove_const, :Twilio)
      expect(checker.status).to eql('twilio-ruby gem is not installed')
      Object.const_set(:Twilio, gem)
    end

    it 'sets the value' do
      expect(checker.value).to eql(StatusCat::Checkers::Twilio.sid)
    end

    context 'pass' do

      it 'passes if it can connect to Twilio' do
        expect(checker.status).to be_nil
      end
    end

    context 'fail' do

      it 'fails if it receives nil' do
        expect(@twilio_messages).to receive(:list).and_return(nil)
        expect(checker.status).to_not be_nil
      end

      it 'fails if there is an exception' do
        expect(@twilio_messages).to receive(:list).and_raise('This is only a test')
        expect(checker.status).to_not be_nil
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
status_cat-5.2.1 spec/lib/status_cat/checkers/twilio_spec.rb
status_cat-5.2.0 spec/lib/status_cat/checkers/twilio_spec.rb
status_cat-5.0.2 spec/lib/status_cat/checkers/twilio_spec.rb
status_cat-5.0.1 spec/lib/status_cat/checkers/twilio_spec.rb