Sha256: a5cab636a9503d5e4e1e5e521ce8f2389c516a3d792fcbab83bb5ad46a18b9cf

Contents?: true

Size: 1.39 KB

Versions: 3

Compression:

Stored size: 1.39 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')

module WhosGotDirt::Responses::List
  RSpec.describe LittleSis do
    context 'when successful', vcr: {cassette_name: 'little_sis_list'} do
      let :response do
        Faraday.get("https://api.littlesis.org/lists.xml?q=united&_key=#{ENV['LITTLE_SIS_API_KEY']}")
      end

      let :instance do
        LittleSis.new(response)
      end

      describe '#to_a' do
        it 'should return the results' do
          expect{instance.to_a}.to_not raise_error
        end
      end

      describe '#count' do
        it 'should return the number of results' do
          expect(instance.count).to be > 10
        end
      end

      describe '#page' do
        it 'should return the current page number' do
          expect(instance.page).to eq(1)
        end
      end
    end

    context 'when unsuccessful', vcr: {cassette_name: 'little_sis_list_error'} do
      let :response do
        Faraday.get("https://api.littlesis.org/lists.xml?q=united")
      end

      let :instance do
        LittleSis.new(response)
      end

      describe '#error_message' do
        it 'should return the error message' do
         expect(instance.error_message).to eq('Your request must include a query parameter named "_key" with a valid API key value. To obtain an API key, visit http://api.littlesis.org/register.')
       end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
whos_got_dirt-0.0.5 spec/responses/list/little_sis_spec.rb
whos_got_dirt-0.0.4 spec/responses/list/little_sis_spec.rb
whos_got_dirt-0.0.3 spec/responses/list/little_sis_spec.rb