Sha256: 42d37bafd95ead6670167922b47fd57e9bfb56e38864411d0c7199fffa0e7da0

Contents?: true

Size: 1.01 KB

Versions: 5

Compression:

Stored size: 1.01 KB

Contents

describe StatusCat::Checkers::Fitbit do

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

  it_should_behave_like 'a status checker'

  describe '#initialize' do

    it 'tolerates the gem missing' do
      gem = Object.send(:remove_const, :Fitgem)
      expect(checker.status).to eql('fitgem gem is not installed')
      Object.const_set(:Fitgem, gem)
    end

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

    context 'pass' do

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

    context 'fail' do

      it 'fails if it receives errors' do
        expect(@fitgem).to receive(:user_info).and_return('errors' => 'this is only a test')
        expect(checker.status).to_not be_nil
      end

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

Version data entries

5 entries across 5 versions & 1 rubygems

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