Sha256: ac8664f77c71075b60c6481d99475aa80b0e1471d2e0cab73f6428719f4440f3

Contents?: true

Size: 1.32 KB

Versions: 6

Compression:

Stored size: 1.32 KB

Contents

require 'spec_helper'

describe SportsDataApi::Nba, vcr: {
    cassette_name: 'sports_data_api_nba',
    record: :new_episodes,
    match_requests_on: [:uri]
} do

  context 'invalid API key' do
    before(:each) do
      SportsDataApi.set_key(:nba, 'invalid_key')
      SportsDataApi.set_access_level(:nba, 't')
    end
    describe '.schedule' do
      it { expect { subject.schedule(2013, :REG) }.to raise_error(SportsDataApi::Exception) }
    end
  end

  context 'no response from the api' do
    before(:each) { stub_request(:any, /api\.sportsdatallc\.org.*/).to_timeout }
    describe '.schedule' do
      it { expect { subject.schedule(2013, :REG) }.to raise_error(SportsDataApi::Exception) }
    end
  end

  context 'create valid URLs' do
    let(:schedule_url) { 'http://api.sportsdatallc.org/nba-t3/games/2013/REG/schedule.xml' }
    before(:each) do
      SportsDataApi.set_key(:nba, 'invalid_key')
      SportsDataApi.set_access_level(:nba, 't')
      @schedule_xml = RestClient.get("#{schedule_url}?api_key=#{api_key(:nba)}")
    end
    describe '.schedule' do
      it 'creates a valid Sports Data LLC url' do
        params = { params: { api_key: SportsDataApi.key(:nba) } }
        RestClient.should_receive(:get).with(schedule_url, params).and_return(@schedule_xml)
        subject.schedule(2013, :REG)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sports_data_api-0.2.4 spec/lib/sports_data_api/nba_spec.rb
sports_data_api-0.2.3 spec/lib/sports_data_api/nba_spec.rb
sports_data_api-0.2.2 spec/lib/sports_data_api/nba_spec.rb
sports_data_api-0.2.1 spec/lib/sports_data_api/nba_spec.rb
sports_data_api-0.2.0 spec/lib/sports_data_api/nba_spec.rb
sports_data_api-0.1.0 spec/lib/sports_data_api/nba_spec.rb