Sha256: f8cd8d05b181791a197d5050d18149a9d31ccaebabec0203e1d5df5c82bad4bb

Contents?: true

Size: 1.35 KB

Versions: 4

Compression:

Stored size: 1.35 KB

Contents

require 'spec_helper'

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

  context 'invalid API key' do
    before(:each) do
      SportsDataApi.set_key(:ncaamb, 'invalid_key')
      SportsDataApi.set_access_level(:ncaamb, 't')
    end
    describe '.schedule' do
      it { expect { subject.schedule(2014, :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(2014, :REG) }.to raise_error(SportsDataApi::Exception) }
    end
  end

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sports_data_api-0.2.4 spec/lib/sports_data_api/ncaamb_spec.rb
sports_data_api-0.2.3 spec/lib/sports_data_api/ncaamb_spec.rb
sports_data_api-0.2.2 spec/lib/sports_data_api/ncaamb_spec.rb
sports_data_api-0.2.1 spec/lib/sports_data_api/ncaamb_spec.rb