sports_data_api 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +52 -3
- data/lib/sports_data_api.rb +1 -0
- data/lib/sports_data_api/ncaamb.rb +93 -0
- data/lib/sports_data_api/ncaamb/broadcast.rb +14 -0
- data/lib/sports_data_api/ncaamb/game.rb +51 -0
- data/lib/sports_data_api/ncaamb/games.rb +26 -0
- data/lib/sports_data_api/ncaamb/player.rb +22 -0
- data/lib/sports_data_api/ncaamb/season.rb +28 -0
- data/lib/sports_data_api/ncaamb/team.rb +40 -0
- data/lib/sports_data_api/ncaamb/teams.rb +83 -0
- data/lib/sports_data_api/ncaamb/tournament.rb +30 -0
- data/lib/sports_data_api/ncaamb/tournament_game.rb +23 -0
- data/lib/sports_data_api/ncaamb/tournament_list.rb +28 -0
- data/lib/sports_data_api/ncaamb/tournament_schedule.rb +51 -0
- data/lib/sports_data_api/ncaamb/venue.rb +20 -0
- data/lib/sports_data_api/version.rb +1 -1
- data/spec/cassettes/sports_data_api_ncaamb.yml +171013 -0
- data/spec/cassettes/sports_data_api_ncaamb_broadcast.yml +844 -0
- data/spec/cassettes/sports_data_api_ncaamb_game.yml +88015 -0
- data/spec/cassettes/sports_data_api_ncaamb_games.yml +844 -0
- data/spec/cassettes/sports_data_api_ncaamb_league_hierarchy.yml +9009 -0
- data/spec/cassettes/sports_data_api_ncaamb_player.yml +188 -0
- data/spec/cassettes/sports_data_api_ncaamb_season.yml +85489 -0
- data/spec/cassettes/sports_data_api_ncaamb_team.yml +5259 -0
- data/spec/cassettes/sports_data_api_ncaamb_tournament.yml +1773 -0
- data/spec/cassettes/sports_data_api_ncaamb_tournament_game.yml +2334 -0
- data/spec/cassettes/sports_data_api_ncaamb_tournament_list.yml +71 -0
- data/spec/cassettes/sports_data_api_ncaamb_tournament_schedule.yml +1705 -0
- data/spec/cassettes/sports_data_api_ncaamb_venue.yml +306 -0
- data/spec/lib/sports_data_api/mlb/player_spec.rb +1 -1
- data/spec/lib/sports_data_api/mlb/players_spec.rb +1 -1
- data/spec/lib/sports_data_api/mlb/team_spec.rb +1 -1
- data/spec/lib/sports_data_api/mlb/teams_spec.rb +1 -1
- data/spec/lib/sports_data_api/ncaamb/broadcast_spec.rb +18 -0
- data/spec/lib/sports_data_api/ncaamb/game_spec.rb +87 -0
- data/spec/lib/sports_data_api/ncaamb/games_spec.rb +19 -0
- data/spec/lib/sports_data_api/ncaamb/player_spec.rb +68 -0
- data/spec/lib/sports_data_api/ncaamb/season_spec.rb +41 -0
- data/spec/lib/sports_data_api/ncaamb/team_spec.rb +182 -0
- data/spec/lib/sports_data_api/ncaamb/teams_spec.rb +76 -0
- data/spec/lib/sports_data_api/ncaamb/tournament_game_spec.rb +38 -0
- data/spec/lib/sports_data_api/ncaamb/tournament_list_spec.rb +42 -0
- data/spec/lib/sports_data_api/ncaamb/tournament_schedule_spec.rb +43 -0
- data/spec/lib/sports_data_api/ncaamb/tournament_spec.rb +25 -0
- data/spec/lib/sports_data_api/ncaamb/venue_spec.rb +24 -0
- data/spec/lib/sports_data_api/ncaamb_spec.rb +41 -0
- data/spec/spec_helper.rb +1 -0
- data/sports_data_api.gemspec +1 -1
- metadata +72 -7
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe SportsDataApi::Ncaamb::Games, vcr: {
|
4
|
+
cassette_name: 'sports_data_api_ncaamb_games',
|
5
|
+
record: :new_episodes,
|
6
|
+
match_requests_on: [:host, :path]
|
7
|
+
} do
|
8
|
+
context 'results from daily schedule fetch' do
|
9
|
+
let(:games) do
|
10
|
+
SportsDataApi.set_access_level(:ncaamb, 't')
|
11
|
+
SportsDataApi.set_key(:ncaamb, api_key(:ncaamb))
|
12
|
+
SportsDataApi::Ncaamb.daily(2015, 2, 25)
|
13
|
+
end
|
14
|
+
subject { games }
|
15
|
+
it { should be_an_instance_of(SportsDataApi::Ncaamb::Games) }
|
16
|
+
its(:date) { should eq "2015-02-25" }
|
17
|
+
its(:count) { should eq 51 }
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe SportsDataApi::Ncaamb::Player, vcr: {
|
4
|
+
cassette_name: 'sports_data_api_ncaamb_player',
|
5
|
+
record: :new_episodes,
|
6
|
+
match_requests_on: [:host, :path]
|
7
|
+
} do
|
8
|
+
before do
|
9
|
+
SportsDataApi.set_key(:ncaamb, api_key(:ncaamb))
|
10
|
+
SportsDataApi.set_access_level(:ncaamb, 't')
|
11
|
+
end
|
12
|
+
let(:player) { SportsDataApi::Ncaamb.team_roster('c7569eae-5b93-4197-b204-6f3a62146b25').players.last.player }
|
13
|
+
|
14
|
+
describe 'player' do
|
15
|
+
subject { player }
|
16
|
+
it 'should have an id' do
|
17
|
+
expect(subject[:id]).to eql 'f75e79a3-b9f8-4541-b75e-fb5477c3600f'
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should have a status' do
|
21
|
+
expect(subject[:status]).to eql 'ACT'
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'should have a full_name' do
|
25
|
+
expect(subject[:full_name]).to eql 'Sam Dekker'
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should have a first_name' do
|
29
|
+
expect(subject[:first_name]).to eql 'Sam'
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'should have a last_name' do
|
33
|
+
expect(subject[:last_name]).to eql 'Dekker'
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should have an abbr_name' do
|
37
|
+
expect(subject[:abbr_name]).to eql 'S.Dekker'
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'should have a height' do
|
41
|
+
expect(subject[:height]).to eql '81'
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'should have a weight' do
|
45
|
+
expect(subject[:weight]).to eql '230'
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'should have a position' do
|
49
|
+
expect(subject[:position]).to eql 'F'
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'should have a primary_position' do
|
53
|
+
expect(subject[:primary_position]).to eql 'NA'
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'should have a jersey_number' do
|
57
|
+
expect(subject[:jersey_number]).to eql '15'
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'should have an experience' do
|
61
|
+
expect(subject[:experience]).to eql 'JR'
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'should have a birth_place' do
|
65
|
+
expect(subject[:birth_place]).to eql 'SHEBOYGAN, WI, USA'
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe SportsDataApi::Ncaamb::Season, vcr: {
|
4
|
+
cassette_name: 'sports_data_api_ncaamb_season',
|
5
|
+
record: :new_episodes,
|
6
|
+
match_requests_on: [:host, :path]
|
7
|
+
} do
|
8
|
+
subject { SportsDataApi::Ncaamb::Season }
|
9
|
+
describe '.season?' do
|
10
|
+
context :CT do
|
11
|
+
it { SportsDataApi::Ncaamb::Season.valid?(:CT).should be_true }
|
12
|
+
end
|
13
|
+
context :REG do
|
14
|
+
it { subject.valid?(:REG).should be_true }
|
15
|
+
end
|
16
|
+
context :PST do
|
17
|
+
it { subject.valid?(:PST).should be_true }
|
18
|
+
end
|
19
|
+
context :ct do
|
20
|
+
it { subject.valid?(:ct).should be_false }
|
21
|
+
end
|
22
|
+
context :reg do
|
23
|
+
it { subject.valid?(:reg).should be_false }
|
24
|
+
end
|
25
|
+
context :pst do
|
26
|
+
it { subject.valid?(:pst).should be_false }
|
27
|
+
end
|
28
|
+
end
|
29
|
+
context 'results from schedule fetch' do
|
30
|
+
let(:season) do
|
31
|
+
SportsDataApi.set_access_level(:ncaamb, 't')
|
32
|
+
SportsDataApi.set_key(:ncaamb, api_key(:ncaamb))
|
33
|
+
SportsDataApi::Ncaamb.schedule(2014, :reg)
|
34
|
+
end
|
35
|
+
subject { season }
|
36
|
+
it { should be_an_instance_of(SportsDataApi::Ncaamb::Season) }
|
37
|
+
its(:year) { should eq 2014 }
|
38
|
+
its(:type) { should eq :REG }
|
39
|
+
its(:games) { should have(5512).games }
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,182 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe SportsDataApi::Ncaamb::Team, vcr: {
|
4
|
+
cassette_name: 'sports_data_api_ncaamb_team',
|
5
|
+
record: :new_episodes,
|
6
|
+
match_requests_on: [:host, :path]
|
7
|
+
} do
|
8
|
+
let(:teams) do
|
9
|
+
SportsDataApi.set_key(:ncaamb, api_key(:ncaamb))
|
10
|
+
SportsDataApi.set_access_level(:ncaamb, 't')
|
11
|
+
SportsDataApi::Ncaamb.teams
|
12
|
+
end
|
13
|
+
let(:roster) do
|
14
|
+
SportsDataApi.set_key(:ncaamb, api_key(:ncaamb))
|
15
|
+
SportsDataApi.set_access_level(:ncaamb, 't')
|
16
|
+
SportsDataApi::Ncaamb.team_roster('c7569eae-5b93-4197-b204-6f3a62146b25')
|
17
|
+
end
|
18
|
+
let(:game_summary) do
|
19
|
+
SportsDataApi.set_key(:ncaamb, api_key(:ncaamb))
|
20
|
+
SportsDataApi.set_access_level(:ncaamb, 't')
|
21
|
+
SportsDataApi::Ncaamb.game_summary('0b387f08-6c3d-4d82-987e-e0fc3ab151d6')
|
22
|
+
end
|
23
|
+
|
24
|
+
context 'results from teams fetch' do
|
25
|
+
subject { teams.first }
|
26
|
+
it { should be_an_instance_of(SportsDataApi::Ncaamb::Team) }
|
27
|
+
its(:id) { should eq "cd34248e-6f7d-4e0a-b694-567699bd7917" }
|
28
|
+
its(:alias) { should eq 'CBAP' }
|
29
|
+
its(:conference) { should eq 'ACCA-IND' }
|
30
|
+
its(:division) { should eq 'ACCA' }
|
31
|
+
its(:market) { should eq 'Champion Baptist' }
|
32
|
+
its(:name) { should eq 'Tigers' }
|
33
|
+
its(:players) { should eq [] }
|
34
|
+
its(:points) { should be_nil }
|
35
|
+
end
|
36
|
+
context 'results from team roster fetch' do
|
37
|
+
subject { roster }
|
38
|
+
it { should be_an_instance_of(SportsDataApi::Ncaamb::Team) }
|
39
|
+
its(:id) { should eq "c7569eae-5b93-4197-b204-6f3a62146b25" }
|
40
|
+
its(:alias) { should eq 'WIS' }
|
41
|
+
its(:market) { should eq 'Wisconsin' }
|
42
|
+
its(:name) { should eq 'Badgers' }
|
43
|
+
its(:players) { should be_an_instance_of(Array) }
|
44
|
+
its(:points) { should be_nil }
|
45
|
+
context 'players' do
|
46
|
+
subject { roster.players }
|
47
|
+
its(:count) { should eq 16 }
|
48
|
+
end
|
49
|
+
end
|
50
|
+
context 'results from game_summary fetch' do
|
51
|
+
subject { game_summary.home_team }
|
52
|
+
it { should be_an_instance_of(SportsDataApi::Ncaamb::Team) }
|
53
|
+
its(:id) { should eq 'c7569eae-5b93-4197-b204-6f3a62146b25' }
|
54
|
+
its(:market) { should eq 'Wisconsin' }
|
55
|
+
its(:name) { should eq 'Badgers' }
|
56
|
+
its(:points) { should eq 65 }
|
57
|
+
its(:alias) { should be_nil }
|
58
|
+
its(:conference) { should be_nil }
|
59
|
+
its(:division) { should be_nil }
|
60
|
+
its(:players) { should be_an_instance_of(Array) }
|
61
|
+
|
62
|
+
context 'players' do
|
63
|
+
subject { game_summary.home_team.players }
|
64
|
+
its(:count) { should eq 16 }
|
65
|
+
end
|
66
|
+
|
67
|
+
context 'player' do
|
68
|
+
subject { game_summary.home_team.players[1] }
|
69
|
+
it { should be_an_instance_of(SportsDataApi::Ncaamb::Player) }
|
70
|
+
it 'should have an id' do
|
71
|
+
expect(subject.player[:id]).to eq "cfc15d5a-efc8-443a-9868-39853a28b849"
|
72
|
+
end
|
73
|
+
it 'should have a full_name' do
|
74
|
+
expect(subject.player[:full_name]).to eq "Nigel Hayes"
|
75
|
+
end
|
76
|
+
it 'should have a first_name' do
|
77
|
+
expect(subject.player[:first_name]).to eq "Nigel"
|
78
|
+
end
|
79
|
+
it 'should have a last_name' do
|
80
|
+
expect(subject.player[:last_name]).to eq "Hayes"
|
81
|
+
end
|
82
|
+
it 'should have a position' do
|
83
|
+
expect(subject.player[:position]).to eq "F"
|
84
|
+
end
|
85
|
+
it 'should have a primary_position' do
|
86
|
+
expect(subject.player[:primary_position]).to eq "NA"
|
87
|
+
end
|
88
|
+
it 'should have a jersey_number' do
|
89
|
+
expect(subject.player[:jersey_number]).to eq "10"
|
90
|
+
end
|
91
|
+
it 'should have a played' do
|
92
|
+
expect(subject.player[:played]).to eq "true"
|
93
|
+
end
|
94
|
+
it 'should have an active' do
|
95
|
+
expect(subject.player[:active]).to eq "true"
|
96
|
+
end
|
97
|
+
its(:stats){ should be_an_instance_of(SportsDataApi::Stats) }
|
98
|
+
|
99
|
+
context 'stats' do
|
100
|
+
subject { game_summary.home_team.players[1].stats.statistics }
|
101
|
+
it 'should have minutes' do
|
102
|
+
expect(subject[:minutes]).to eql '33:00'
|
103
|
+
end
|
104
|
+
it 'should have field_goals_made' do
|
105
|
+
expect(subject[:field_goals_made]).to eql '2'
|
106
|
+
end
|
107
|
+
it 'should have field_goals_made' do
|
108
|
+
expect(subject[:field_goals_att]).to eql '7'
|
109
|
+
end
|
110
|
+
it 'should have field_goals_pct' do
|
111
|
+
expect(subject[:field_goals_pct]).to eql '28.6'
|
112
|
+
end
|
113
|
+
it 'should have two_points_made' do
|
114
|
+
expect(subject[:two_points_made]).to eql '2'
|
115
|
+
end
|
116
|
+
it 'should have two_points_att' do
|
117
|
+
expect(subject[:two_points_att]).to eql '7'
|
118
|
+
end
|
119
|
+
it 'should have two_points_pct' do
|
120
|
+
expect(subject[:two_points_pct]).to eql '0.286'
|
121
|
+
end
|
122
|
+
it 'should have three_points_made' do
|
123
|
+
expect(subject[:three_points_made]).to eql '0'
|
124
|
+
end
|
125
|
+
it 'should have three_points_att' do
|
126
|
+
expect(subject[:three_points_att]).to eql '0'
|
127
|
+
end
|
128
|
+
it 'should have three_points_pct' do
|
129
|
+
expect(subject[:three_points_pct]).to eql '0.0'
|
130
|
+
end
|
131
|
+
it 'should have blocked_att' do
|
132
|
+
expect(subject[:blocked_att]).to eql '2'
|
133
|
+
end
|
134
|
+
it 'should have free_throws_made' do
|
135
|
+
expect(subject[:free_throws_made]).to eql '7'
|
136
|
+
end
|
137
|
+
it 'should have free_throws_att' do
|
138
|
+
expect(subject[:free_throws_att]).to eql '8'
|
139
|
+
end
|
140
|
+
it 'should have free_throws_pct' do
|
141
|
+
expect(subject[:free_throws_pct]).to eql '87.5'
|
142
|
+
end
|
143
|
+
it 'should have offensive_rebounds' do
|
144
|
+
expect(subject[:offensive_rebounds]).to eql '3'
|
145
|
+
end
|
146
|
+
it 'should have defensive_rebounds' do
|
147
|
+
expect(subject[:defensive_rebounds]).to eql '5'
|
148
|
+
end
|
149
|
+
it 'should have rebounds' do
|
150
|
+
expect(subject[:rebounds]).to eql '8'
|
151
|
+
end
|
152
|
+
it 'should have assists' do
|
153
|
+
expect(subject[:assists]).to eql '2'
|
154
|
+
end
|
155
|
+
it 'should have turnovers' do
|
156
|
+
expect(subject[:turnovers]).to eql '2'
|
157
|
+
end
|
158
|
+
it 'should have steals' do
|
159
|
+
expect(subject[:steals]).to eql '0'
|
160
|
+
end
|
161
|
+
it 'should have blocks' do
|
162
|
+
expect(subject[:blocks]).to eql '0'
|
163
|
+
end
|
164
|
+
it 'should have assists_turnover_ratio' do
|
165
|
+
expect(subject[:assists_turnover_ratio]).to eql '1.0'
|
166
|
+
end
|
167
|
+
it 'should have personal_fouls' do
|
168
|
+
expect(subject[:personal_fouls]).to eql '1'
|
169
|
+
end
|
170
|
+
it 'should have tech_fouls' do
|
171
|
+
expect(subject[:tech_fouls]).to eql '0'
|
172
|
+
end
|
173
|
+
it 'should have flagrant_fouls' do
|
174
|
+
expect(subject[:flagrant_fouls]).to eql '0'
|
175
|
+
end
|
176
|
+
it 'should have points' do
|
177
|
+
expect(subject[:points]).to eql '11'
|
178
|
+
end
|
179
|
+
end
|
180
|
+
end
|
181
|
+
end
|
182
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe SportsDataApi::Ncaamb::Teams, vcr: {
|
4
|
+
cassette_name: 'sports_data_api_ncaamb_league_hierarchy',
|
5
|
+
record: :new_episodes,
|
6
|
+
match_requests_on: [:host, :path]
|
7
|
+
} do
|
8
|
+
let(:teams) do
|
9
|
+
SportsDataApi.set_key(:ncaamb, api_key(:ncaamb))
|
10
|
+
SportsDataApi.set_access_level(:ncaamb, 't')
|
11
|
+
SportsDataApi::Ncaamb.teams
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:url) { 'http://api.sportsdatallc.org/ncaamb-t3/league/hierarchy.xml' }
|
15
|
+
|
16
|
+
let(:badgers_xml) do
|
17
|
+
str = RestClient.get(url, params: { api_key: api_key(:ncaamb) }).to_s
|
18
|
+
xml = Nokogiri::XML(str)
|
19
|
+
xml.remove_namespaces!
|
20
|
+
xml.xpath('/league/division/conference/team[@id=\'c7569eae-5b93-4197-b204-6f3a62146b25\']')
|
21
|
+
end
|
22
|
+
|
23
|
+
let(:badgers) { SportsDataApi::Ncaamb::Team.new(badgers_xml, "BIG10", "D1") }
|
24
|
+
|
25
|
+
subject { teams }
|
26
|
+
its(:divisions) { should eq %w(ACCA NAIA NCAIA USCAA D2 D1 D3 NCCAA).map { |str| str.to_sym } }
|
27
|
+
its(:conferences) { should eq %w(ACCA-IND KCAC MCC MSC PCAC HAAC GCAC KIAC NAIA-AAC CROSS CCAC RRAC CCC WHAC TSC DIII-MCC AII NSAA SSAC CALPAC GSAC AMC FRONTIER NAIA-SAC NCAIA USCAA-D2 HVMAC OCAC USCAA-D1 USCAA CIAA GSC NCCAA G-MAC CCAA CC GLVC SAC MIAA SIAC NSIC GLIAC GAC ECC GNAC LSC HC SSC NE10 CACC MEC RMAC DII-IND PSAC PBC PACWEST-D2 PAC12 OVC MVC BIG12 SUNBELT DI-IND BIGSKY AAC SOUTHERN SUMMIT BIGWEST CUSA WAC SOUTHLAND SWAC MEAC ACC AS PATRIOT BIGSOUTH HORIZON MWC SEC MAC BIG10 AE NE IVY COLONIAL WCC BIGEAST A10 MAAC CENT LAND DIII-HC ECAC CSAC MASCAC DIII-SAA OAC NCAC SKY CUNYAC M-IAA UAA TCCC UMAC ASC NECC MIAC SLIAC SCIAC PAC NJAC USAS E8 DIII-GNAC SCAC IIAC NEWMAC DIII-IND CCIW NWC ODAC WNYAC AMCC NEAC NAC NACC CAC D2-MID-WEST D2-EAST D1-WEST D1-MID-EAST D2-MID-EAST D2-SOUTH D2-SOUTHWEST D1-SOUTH D1-CENT).map { |str| str.to_sym } }
|
28
|
+
its(:count) { should eq 946 }
|
29
|
+
|
30
|
+
it { subject[:"c7569eae-5b93-4197-b204-6f3a62146b25"].should eq badgers }
|
31
|
+
|
32
|
+
describe 'meta methods' do
|
33
|
+
it { should respond_to :D1 }
|
34
|
+
it { should respond_to :D2 }
|
35
|
+
it { should respond_to :d1 }
|
36
|
+
it { should respond_to :d2 }
|
37
|
+
it { should respond_to :BIG10 }
|
38
|
+
it { should respond_to :big10 }
|
39
|
+
it { should respond_to :IVY }
|
40
|
+
|
41
|
+
its(:D1) { should be_a Array }
|
42
|
+
its(:D2) { should be_a Array }
|
43
|
+
|
44
|
+
context '#D1' do
|
45
|
+
subject { teams.D1 }
|
46
|
+
its(:count) { should eq 351 }
|
47
|
+
end
|
48
|
+
|
49
|
+
context '#d1' do
|
50
|
+
subject { teams.d1 }
|
51
|
+
its(:count) { should eq 351 }
|
52
|
+
end
|
53
|
+
|
54
|
+
context '#D2' do
|
55
|
+
subject { teams.D2 }
|
56
|
+
its(:count) { should eq 311 }
|
57
|
+
end
|
58
|
+
|
59
|
+
context '#d2' do
|
60
|
+
subject { teams.d2 }
|
61
|
+
its(:count) { should eq 311 }
|
62
|
+
end
|
63
|
+
|
64
|
+
context '#big10' do
|
65
|
+
subject { teams.big10 }
|
66
|
+
its(:count) { should eq 14 }
|
67
|
+
it { should include badgers }
|
68
|
+
end
|
69
|
+
|
70
|
+
context '#BIG10' do
|
71
|
+
subject { teams.BIG10 }
|
72
|
+
its(:count) { should eq 14 }
|
73
|
+
it { should include badgers }
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe SportsDataApi::Ncaamb::TournamentGame, vcr: {
|
4
|
+
cassette_name: 'sports_data_api_ncaamb_tournament_game',
|
5
|
+
record: :new_episodes,
|
6
|
+
match_requests_on: [:host, :path]
|
7
|
+
} do
|
8
|
+
let(:tournament_schedule) do
|
9
|
+
SportsDataApi.set_access_level(:ncaamb, 't')
|
10
|
+
SportsDataApi.set_key(:ncaamb, api_key(:ncaamb))
|
11
|
+
SportsDataApi::Ncaamb.tournament_schedule(2013, :PST, "541807c8-9a76-4999-a2ad-c0ba8a553c3d")
|
12
|
+
end
|
13
|
+
context 'results from tournament schedule' do
|
14
|
+
subject { tournament_schedule.games[5] }
|
15
|
+
it { should be_an_instance_of(SportsDataApi::Ncaamb::TournamentGame) }
|
16
|
+
its(:id) { should eq '0e038bb9-cf2a-4920-8a14-7b4e7a61b736' }
|
17
|
+
its(:round_number) { should eq 5 }
|
18
|
+
its(:round_name) { should eq 'Elite 8' }
|
19
|
+
its(:bracket) { should eq 'West Regional' }
|
20
|
+
its(:year) { should eq 2013 }
|
21
|
+
its(:season) { should eq :PST }
|
22
|
+
its(:scheduled) { should eq Time.new(2014, 3, 29, 20, 49, 00, '-04:00') }
|
23
|
+
its(:home) { should eq '9b166a3f-e64b-4825-bb6b-92c6f0418263' }
|
24
|
+
its(:away) { should eq 'c7569eae-5b93-4197-b204-6f3a62146b25' }
|
25
|
+
its(:status) { should eq 'closed' }
|
26
|
+
its(:home_team) { should be_an_instance_of(SportsDataApi::Ncaamb::Team) }
|
27
|
+
its(:away_team) { should be_an_instance_of(SportsDataApi::Ncaamb::Team) }
|
28
|
+
its(:venue) { should be_an_instance_of(SportsDataApi::Ncaamb::Venue) }
|
29
|
+
its(:broadcast) { should be_an_instance_of(SportsDataApi::Ncaamb::Broadcast) }
|
30
|
+
its(:summary) { should be_an_instance_of(SportsDataApi::Ncaamb::Game) }
|
31
|
+
it '#boxscore' do
|
32
|
+
expect { subject.boxscore }.to raise_error(NotImplementedError)
|
33
|
+
end
|
34
|
+
it '#pbp' do
|
35
|
+
expect { subject.pbp }.to raise_error(NotImplementedError)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe SportsDataApi::Ncaamb::TournamentList, vcr: {
|
4
|
+
cassette_name: 'sports_data_api_ncaamb_tournament_list',
|
5
|
+
record: :new_episodes,
|
6
|
+
match_requests_on: [:host, :path]
|
7
|
+
} do
|
8
|
+
subject { SportsDataApi::Ncaamb::TournamentList }
|
9
|
+
describe '.valid?' do
|
10
|
+
context :CT do
|
11
|
+
it { SportsDataApi::Ncaamb::TournamentList.valid?(:CT).should be_true }
|
12
|
+
end
|
13
|
+
context :REG do
|
14
|
+
it { subject.valid?(:REG).should be_true }
|
15
|
+
end
|
16
|
+
context :PST do
|
17
|
+
it { subject.valid?(:PST).should be_true }
|
18
|
+
end
|
19
|
+
context :ct do
|
20
|
+
it { subject.valid?(:ct).should be_false }
|
21
|
+
end
|
22
|
+
context :reg do
|
23
|
+
it { subject.valid?(:reg).should be_false }
|
24
|
+
end
|
25
|
+
context :pst do
|
26
|
+
it { subject.valid?(:pst).should be_false }
|
27
|
+
end
|
28
|
+
end
|
29
|
+
context 'results from tournament list fetch' do
|
30
|
+
let(:tournament_list) do
|
31
|
+
SportsDataApi.set_access_level(:ncaamb, 't')
|
32
|
+
SportsDataApi.set_key(:ncaamb, api_key(:ncaamb))
|
33
|
+
SportsDataApi::Ncaamb.tournament_list(2013, :pst)
|
34
|
+
end
|
35
|
+
subject { tournament_list }
|
36
|
+
it { should be_an_instance_of(SportsDataApi::Ncaamb::TournamentList) }
|
37
|
+
its(:id) { should eq "203f9d87-c0ed-46fa-ac8e-1b83ea4f3ad8" }
|
38
|
+
its(:year) { should eq 2013 }
|
39
|
+
its(:season) { should eq :PST }
|
40
|
+
its(:tournaments) { should have(4).tournaments }
|
41
|
+
end
|
42
|
+
end
|