thetvdb_party 0.0.11.pre → 0.0.12.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/Rakefile +7 -1
- data/lib/thetvdb_party/baseepisoderecord.rb +1 -1
- data/lib/thetvdb_party/baseseriesrecord.rb +1 -1
- data/lib/thetvdb_party/version.rb +1 -1
- data/spec/thetvdb_party/actor_spec.rb +63 -13
- data/spec/thetvdb_party/banner_spec.rb +220 -13
- data/spec/thetvdb_party/baseepisoderecord_spec.rb +138 -13
- data/thetvdb_party.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3fa2e06a9e0a3b23ca038ed937b7ff0a838f8361
|
4
|
+
data.tar.gz: fd44b41771d89e6599a234718e5352fbfac3f927
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a8a9f704ea9fca9286719ebf7a2903e364533f23fa32925160c0f4e53e2aebc9dde33da2c96c2bb13a4050c52f6f40b0700e2480362695c73a8000adb724f31
|
7
|
+
data.tar.gz: e239e79646c9a7627d4b16d961b7c57a2a3e0d19e74abf7ed794cb71f1b861682911c5b38c271c166becaaad8a9bdf85a16b14db386f7ff1659e4e90e51986d4
|
data/.gitignore
CHANGED
data/Rakefile
CHANGED
@@ -10,5 +10,11 @@ RDoc::Task.new do |rdoc|
|
|
10
10
|
end
|
11
11
|
|
12
12
|
RSpec::Core::RakeTask.new do |rspec|
|
13
|
-
|
13
|
+
end
|
14
|
+
|
15
|
+
namespace :spec do
|
16
|
+
RSpec::Core::RakeTask.new :html do |rspec|
|
17
|
+
rspec.name = "spec::html"
|
18
|
+
rspec.rspec_opts = %w(--format html --out .report/rspec_test_report.html)
|
19
|
+
end
|
14
20
|
end
|
@@ -158,7 +158,7 @@ module TheTvDbParty
|
|
158
158
|
@productioncode = @hashValues["ProductionCode"]
|
159
159
|
@rating = @hashValues["Rating"] ? @hashValues["Rating"].to_f : 0.0
|
160
160
|
@ratingcount = @hashValues["RatingCount"] ? @hashValues["RatingCount"].to_i : 0
|
161
|
-
@seasonnumber = @hashValues["SeasonNumber"] ? @hashValues["
|
161
|
+
@seasonnumber = @hashValues["SeasonNumber"] ? @hashValues["SeasonNumber"].to_i : -1
|
162
162
|
@writer = @hashValues["Writer"] ? @hashValues["Writer"].split('|').reject { |a| a.nil? || a.empty? } : []
|
163
163
|
@absolute_number = @hashValues["absolute_number"] ? @hashValues["absolute_number"].to_i : -1
|
164
164
|
@airsafter_season = @hashValues["airsafter_season"] ? @hashValues["airsafter_season"].to_i : -1
|
@@ -128,7 +128,7 @@ module TheTvDbParty
|
|
128
128
|
@airs_dayofweek = @hashValues["Airs_DayOfWeek"]
|
129
129
|
@airs_time = @hashValues["Airs_Time"] ? Time.parse(@hashValues["Airs_Time"]) : nil
|
130
130
|
@contentrating = @hashValues["ContentRating"]
|
131
|
-
@firstaired = @hashValues["FirstAired"] ? Date.parse(hashValues["FirstAired"]) : nil
|
131
|
+
@firstaired = @hashValues["FirstAired"] ? Date.parse(@hashValues["FirstAired"]) : nil
|
132
132
|
@genres = @hashValues["Genre"] ? @hashValues["Genre"].split('|').reject { |a| a.nil? || a.empty? } : []
|
133
133
|
@imdb_id = @hashValues["IMDB_ID"]
|
134
134
|
@language = @hashValues["Language"]
|
@@ -1,26 +1,76 @@
|
|
1
1
|
require 'rspec'
|
2
2
|
require 'thetvdb_party'
|
3
3
|
|
4
|
-
describe 'Actor' do
|
4
|
+
describe 'TheTvDbParty::Actor' do
|
5
|
+
it 'should have a client associated with it' do
|
6
|
+
client = TheTvDbParty::Client.new(nil)
|
7
|
+
record = TheTvDbParty::Actor.new(client, { })
|
8
|
+
expect(record.client).to be_an_instance_of(TheTvDbParty::Client)
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should have a nil client if constructed with nil' do
|
12
|
+
record = TheTvDbParty::Actor.new(nil, { })
|
13
|
+
expect(record.client).to be_nil
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should have an ignored id field' do
|
17
|
+
record = TheTvDbParty::Actor.new(nil, { "id" => "27747" })
|
18
|
+
expect(record.id).to be_an_instance_of(String)
|
19
|
+
expect(record.id).to eq("27747")
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should have a nil id, if not specified' do
|
23
|
+
record = TheTvDbParty::Actor.new(nil, {})
|
24
|
+
expect(record.id).to be_nil
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should have a relative/full image path' do
|
28
|
+
record = TheTvDbParty::Actor.new(nil, { "Image" => "actors/27747.jpg" })
|
29
|
+
expect(record.imagepath_relative).to be_an_instance_of(String)
|
30
|
+
expect(record.imagepath_full).to be_an_instance_of(URI)
|
31
|
+
expect(record.imagepath_relative).to eq("actors/27747.jpg")
|
32
|
+
expect(record.imagepath_full).to eq(URI::join(TheTvDbParty::BASE_URL, 'banners/', 'actors/27747.jpg'))
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should have a nil relative/full image path, if not specified' do
|
36
|
+
record = TheTvDbParty::Actor.new(nil, {})
|
37
|
+
expect(record.imagepath_relative).to be_nil
|
38
|
+
expect(record.imagepath_full).to be_nil
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'should have a name field' do
|
42
|
+
record = TheTvDbParty::Actor.new(nil, { "Name" => "Matthew Fox" })
|
43
|
+
expect(record.name).to be_an_instance_of(String)
|
44
|
+
expect(record.name).to eq("Matthew Fox")
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'should have a nil name, if not specified' do
|
48
|
+
record = TheTvDbParty::Actor.new(nil, {})
|
49
|
+
expect(record.name).to be_nil
|
50
|
+
end
|
5
51
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
)
|
12
|
-
@invalid_actor = TheTvDbParty::Actor.new(nil, { })
|
52
|
+
it 'should have a sorting order between 0-3' do
|
53
|
+
record = TheTvDbParty::Actor.new(nil, { "SortOrder" => "2" })
|
54
|
+
expect(record.sortOrder).to be_an_instance_of(Fixnum)
|
55
|
+
expect(record.sortOrder).to be_between(0, 3).inclusive
|
56
|
+
expect(record.sortOrder).to eq(2)
|
13
57
|
end
|
14
58
|
|
15
|
-
it 'should have
|
16
|
-
|
59
|
+
it 'should have a 0 sorting order, if invalid specified' do
|
60
|
+
record = TheTvDbParty::Actor.new(nil, { "SortOrder" => "INVALID_SORT_ORDER" })
|
61
|
+
expect(record.sortOrder).to be_an_instance_of(Fixnum)
|
62
|
+
expect(record.sortOrder).to be_between(0, 3).inclusive
|
63
|
+
expect(record.sortOrder).to eq(0)
|
17
64
|
end
|
18
65
|
|
19
|
-
it 'should have a
|
20
|
-
|
66
|
+
it 'should have a 0 sorting order, if invalid specified' do
|
67
|
+
record = TheTvDbParty::Actor.new(nil, { })
|
68
|
+
expect(record.sortOrder).to be_an_instance_of(Fixnum)
|
69
|
+
expect(record.sortOrder).to be_between(0, 3).inclusive
|
70
|
+
expect(record.sortOrder).to eq(0)
|
21
71
|
end
|
22
72
|
|
23
73
|
it 'should not instantiate when created without hash values' do
|
24
|
-
expect{TheTvDbParty::Actor.new(nil, nil)}.to raise_error
|
74
|
+
expect { TheTvDbParty::Actor.new(nil, nil) }.to raise_error
|
25
75
|
end
|
26
76
|
end
|
@@ -1,26 +1,233 @@
|
|
1
1
|
require 'rspec'
|
2
2
|
require 'thetvdb_party'
|
3
3
|
|
4
|
-
describe 'Banner' do
|
4
|
+
describe 'TheTvDbParty::Banner' do
|
5
|
+
it 'should have a client associated with it' do
|
6
|
+
client = TheTvDbParty::Client.new(nil)
|
7
|
+
record = TheTvDbParty::Banner.new(client, { })
|
8
|
+
expect(record.client).to be_an_instance_of(TheTvDbParty::Client)
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should have a nil client if constructed with nil' do
|
12
|
+
record = TheTvDbParty::Banner.new(nil, { })
|
13
|
+
expect(record.client).to be_nil
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should have an ignored id field' do
|
17
|
+
record = TheTvDbParty::Banner.new(nil, { "id" => "14820" })
|
18
|
+
expect(record.id).to be_an_instance_of(String)
|
19
|
+
expect(record.id).to eq("14820")
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should have a nil id, if not specified' do
|
23
|
+
record = TheTvDbParty::Banner.new(nil, {})
|
24
|
+
expect(record.id).to be_nil
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should have a relative/full banner path' do
|
28
|
+
record = TheTvDbParty::Banner.new(nil, { "BannerPath" => "text/80348.jpg" })
|
29
|
+
expect(record.bannerpath_relative).to be_an_instance_of(String)
|
30
|
+
expect(record.bannerpath_full).to be_an_instance_of(URI)
|
31
|
+
expect(record.bannerpath_relative).to eq("text/80348.jpg")
|
32
|
+
expect(record.bannerpath_full).to eq(URI::join(TheTvDbParty::BASE_URL, 'banners/', "text/80348.jpg"))
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should have a nil relative/full banner path, if not specified' do
|
36
|
+
record = TheTvDbParty::Banner.new(nil, {})
|
37
|
+
expect(record.bannerpath_relative).to be_nil
|
38
|
+
expect(record.bannerpath_full).to be_nil
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'should have a relative/full thumbnail path' do
|
42
|
+
record = TheTvDbParty::Banner.new(nil, { "ThumbnailPath" => "_cache/fanart/original/80348-49.jpg" })
|
43
|
+
expect(record.bannerpath_relative).to be_an_instance_of(String)
|
44
|
+
expect(record.bannerpath_full).to be_an_instance_of(URI)
|
45
|
+
expect(record.bannerpath_relative).to eq("_cache/fanart/original/80348-49.jpg")
|
46
|
+
expect(record.bannerpath_full).to eq(URI::join(TheTvDbParty::BASE_URL, 'banners/', "_cache/fanart/original/80348-49.jpg"))
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'should have a nil relative/full thumbnail path, if not specified' do
|
50
|
+
record = TheTvDbParty::Banner.new(nil, {})
|
51
|
+
expect(record.bannerpath_relative).to be_nil
|
52
|
+
expect(record.bannerpath_full).to be_nil
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'should have a relative/full vignette path' do
|
56
|
+
record = TheTvDbParty::Banner.new(nil, { "VignettePath" => "fanart/vignette/80348-49.jpg" })
|
57
|
+
expect(record.bannerpath_relative).to be_an_instance_of(String)
|
58
|
+
expect(record.bannerpath_full).to be_an_instance_of(URI)
|
59
|
+
expect(record.bannerpath_relative).to eq("fanart/vignette/80348-49.jpg")
|
60
|
+
expect(record.bannerpath_full).to eq(URI::join(TheTvDbParty::BASE_URL, 'banners/', "fanart/vignette/80348-49.jpg"))
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'should have a nil relative/full vignette path, if not specified' do
|
64
|
+
record = TheTvDbParty::Banner.new(nil, {})
|
65
|
+
expect(record.bannerpath_relative).to be_nil
|
66
|
+
expect(record.bannerpath_full).to be_nil
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'should have a banner type' do
|
70
|
+
[ "poster", "fanart", "series", "season" ].each do |expected_valid_bannertype|
|
71
|
+
record = TheTvDbParty::Banner.new(nil, { "BannerType" => expected_valid_bannertype })
|
72
|
+
expect(record.bannertype).to be_an_instance_of(String)
|
73
|
+
expect(record.bannertype).to eq(expected_valid_bannertype)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
it 'should have a nil banner type, if specified is invalid' do
|
78
|
+
record = TheTvDbParty::Banner.new(nil, { "BannerType" => "INVALID_BANNERTYPE_STRING" })
|
79
|
+
expect(record.bannertype).to be_nil
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'should have a nil banner type, if not specified' do
|
83
|
+
record = TheTvDbParty::Banner.new(nil, {})
|
84
|
+
expect(record.bannertype).to be_nil
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'should have a secondary banner type' do
|
88
|
+
{
|
89
|
+
"poster" => [ "680x1000" ],
|
90
|
+
"fanart" => [ "1280x720", "1920x1080" ],
|
91
|
+
"series" => [ "text", "graphical", "blank" ],
|
92
|
+
"season" => [ "season", "seasonwide" ]
|
93
|
+
}.each do |expected_valid_bannertype, expected_valid_bannerytype2s|
|
94
|
+
expected_valid_bannerytype2s.each do |expected_valid_bannerytype2|
|
95
|
+
record = TheTvDbParty::Banner.new(nil, { "BannerType" => expected_valid_bannertype, "BannerType2" => expected_valid_bannerytype2 })
|
96
|
+
expect(record.bannertype2).to be_an_instance_of(String)
|
97
|
+
expect(record.bannertype2).to eq(expected_valid_bannerytype2)
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
it 'should have a nil secondary banner type, if the primary banner type is valid, but the specified secondary banner type is invalid' do
|
103
|
+
record = TheTvDbParty::Banner.new(nil, { "BannerType" => "poster", "BannerType2" => "abcdef" })
|
104
|
+
expect(record.bannertype2).to be_nil
|
105
|
+
end
|
106
|
+
|
107
|
+
it 'should have a nil secondary banner type, if the primary banner type is valid, but the specified secondary banner type is invalid for that primary banner type' do
|
108
|
+
record = TheTvDbParty::Banner.new(nil, { "BannerType" => "poster", "BannerType2" => "seasonwide" })
|
109
|
+
expect(record.bannertype2).to be_nil
|
110
|
+
end
|
111
|
+
|
112
|
+
it 'should have a nil secondary banner type, if the primary banner type is nil' do
|
113
|
+
record = TheTvDbParty::Banner.new(nil, { "BannerType2" => "seasonwide" })
|
114
|
+
expect(record.bannertype2).to be_nil
|
115
|
+
end
|
116
|
+
|
117
|
+
it 'should have a language associated with it' do
|
118
|
+
record = TheTvDbParty::Banner.new(nil, { "Language" => "en" })
|
119
|
+
expect(record.language).to be_an_instance_of(String)
|
120
|
+
expect(record.language.length).to be_between(2, 3).inclusive
|
121
|
+
expect(record.language).to eq("en")
|
122
|
+
end
|
123
|
+
|
124
|
+
it 'should have a nil language, if the language is not specified' do
|
125
|
+
record = TheTvDbParty::Banner.new(nil, { })
|
126
|
+
expect(record.language).to be_nil
|
127
|
+
end
|
128
|
+
|
129
|
+
it 'should have a season' do
|
130
|
+
record = TheTvDbParty::Banner.new(nil, { "Season" => "5" })
|
131
|
+
expect(record.season).to be_an_instance_of(Fixnum)
|
132
|
+
expect(record.season).to be >= 0
|
133
|
+
end
|
134
|
+
|
135
|
+
it 'should have a nil season, if it is not specified' do
|
136
|
+
record = TheTvDbParty::Banner.new(nil, { })
|
137
|
+
expect(record.season).to be_nil
|
138
|
+
end
|
139
|
+
|
140
|
+
it 'should have a rating' do
|
141
|
+
record = TheTvDbParty::Banner.new(nil, { "Rating" => "6.6667" })
|
142
|
+
expect(record.rating).to be_an_instance_of(Float)
|
143
|
+
expect(record.rating).to be >= 0.0
|
144
|
+
expect(record.rating).to be 6.6667
|
145
|
+
end
|
146
|
+
|
147
|
+
it 'should have a zero rating, if it is not specified' do
|
148
|
+
record = TheTvDbParty::Banner.new(nil, { })
|
149
|
+
expect(record.rating).to be_an_instance_of(Float)
|
150
|
+
expect(record.rating).to be 0.0
|
151
|
+
end
|
152
|
+
|
153
|
+
it 'should have a rating count' do
|
154
|
+
record = TheTvDbParty::Banner.new(nil, { "RatingCount" => "6" })
|
155
|
+
expect(record.rating).to be_an_instance_of(Fixnum)
|
156
|
+
expect(record.rating).to be >= 0
|
157
|
+
expect(record.rating).to be >= 6
|
158
|
+
end
|
159
|
+
|
160
|
+
it 'should have a zero rating count, if it is not specified' do
|
161
|
+
record = TheTvDbParty::Banner.new(nil, { })
|
162
|
+
expect(record.rating).to be_an_instance_of(Fixnum)
|
163
|
+
expect(record.rating).to be 0
|
164
|
+
end
|
165
|
+
|
166
|
+
it 'should have a true series name flag' do
|
167
|
+
record = TheTvDbParty::Banner.new(nil, { "BannerType" => "fanart", "SeriesName" => "true" })
|
168
|
+
expect(record.seriesName).to be_an_instance_of(TrueClass).or be_an_instance_of(FalseClass)
|
169
|
+
expect(record.seriesName).to be true
|
170
|
+
end
|
171
|
+
|
172
|
+
it 'should have a false series name flag, if banner type is not fanart' do
|
173
|
+
[ "poster", "series", "season" ].each do |expected_valid_bannertype|
|
174
|
+
record = TheTvDbParty::Banner.new(nil, { "BannerType" => expected_valid_bannertype, "SeriesName" => "true" })
|
175
|
+
expect(record.seriesName).to be_an_instance_of(TrueClass).or be_an_instance_of(FalseClass)
|
176
|
+
expect(record.seriesName).to be false
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
it 'should have a false series name flag, if it is not specified' do
|
181
|
+
record = TheTvDbParty::Banner.new(nil, { "BannerType" => "fanart", "SeriesName" => "true" })
|
182
|
+
expect(record.seriesName).to be_an_instance_of(TrueClass).or be_an_instance_of(FalseClass)
|
183
|
+
expect(record.seriesName).to be false
|
184
|
+
end
|
185
|
+
|
186
|
+
it 'should have a zero rating count, if it is not specified' do
|
187
|
+
record = TheTvDbParty::Banner.new(nil, { })
|
188
|
+
expect(record.rating).to be_an_instance_of(Fixnum)
|
189
|
+
expect(record.rating).to be 0
|
190
|
+
end
|
191
|
+
|
192
|
+
it 'should have the color fields' do
|
193
|
+
record = TheTvDbParty::Banner.new(nil, { "BannerType" => "fanart", "Colors" => "|81,81,81|15,15,15|201,226,246|" })
|
194
|
+
expect(record.light_accent_color).to be_an_instance_of(Array)
|
195
|
+
expect(record.light_accent_color).to match_array([81, 81, 81])
|
196
|
+
expect(record.dark_accent_color).to be_an_instance_of(Array)
|
197
|
+
expect(record.dark_accent_color).to match_array([15, 15, 15])
|
198
|
+
expect(record.midtone_color).to be_an_instance_of(Array)
|
199
|
+
expect(record.midtone_color).to match_array([201, 226, 246])
|
200
|
+
end
|
201
|
+
|
202
|
+
it 'should have nil color fields, if banner type is not fanart' do
|
203
|
+
record = TheTvDbParty::Banner.new(nil, { "Colors" => "|81,81,81|15,15,15|201,226,246|" })
|
204
|
+
expect(record.light_accent_color).to be_nil
|
205
|
+
expect(record.dark_accent_color).to be_nil
|
206
|
+
expect(record.midtone_color).to be_nil
|
207
|
+
end
|
5
208
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
)
|
12
|
-
@invalid_banner = TheTvDbParty::Banner.new(nil, { })
|
209
|
+
it 'should have nil color fields, if invalid colors are specified' do
|
210
|
+
record = TheTvDbParty::Banner.new(nil, { "Colors" => "INVALID_COLORS" })
|
211
|
+
expect(record.light_accent_color).to be_nil
|
212
|
+
expect(record.dark_accent_color).to be_nil
|
213
|
+
expect(record.midtone_color).to be_nil
|
13
214
|
end
|
14
215
|
|
15
|
-
it 'should have
|
16
|
-
|
216
|
+
it 'should have nil color fields, if no colors are specified' do
|
217
|
+
record = TheTvDbParty::Banner.new(nil, { })
|
218
|
+
expect(record.light_accent_color).to be_nil
|
219
|
+
expect(record.dark_accent_color).to be_nil
|
220
|
+
expect(record.midtone_color).to be_nil
|
17
221
|
end
|
18
222
|
|
19
|
-
it 'should have
|
20
|
-
|
223
|
+
it 'should have nil color fields, if colors are specified, but at least one of the colors does not have exactly three elements' do
|
224
|
+
record = TheTvDbParty::Banner.new(nil, { "Colors" => "|81,81,81,4|15,15,15|201,226,246|" })
|
225
|
+
expect(record.light_accent_color).to be_nil
|
226
|
+
expect(record.dark_accent_color).to be_nil
|
227
|
+
expect(record.midtone_color).to be_nil
|
21
228
|
end
|
22
229
|
|
23
230
|
it 'should not instantiate when created without hash values' do
|
24
|
-
expect{TheTvDbParty::Banner.new(nil, nil)}.to raise_error
|
231
|
+
expect { TheTvDbParty::Banner.new(nil, nil) }.to raise_error
|
25
232
|
end
|
26
233
|
end
|
@@ -1,26 +1,151 @@
|
|
1
1
|
require 'rspec'
|
2
2
|
require 'thetvdb_party'
|
3
3
|
|
4
|
-
describe 'BaseEpisodeRecord' do
|
4
|
+
describe 'TheTvDbParty::BaseEpisodeRecord' do
|
5
|
+
it 'should have a client associated with it' do
|
6
|
+
client = TheTvDbParty::Client.new(nil)
|
7
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(client, { })
|
8
|
+
expect(record.client).to be_an_instance_of(TheTvDbParty::Client)
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should have a nil client if constructed with nil' do
|
12
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { })
|
13
|
+
expect(record.client).to be_nil
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should have an id' do
|
17
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "id" => "533011" })
|
18
|
+
expect(record.id).to be_an_instance_of(Fixnum)
|
19
|
+
expect(record.id).to eq(533011)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should have a negative id, if invalid id specified' do
|
23
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "id" => "INVALID_ID" })
|
24
|
+
expect(record.id).to be_an_instance_of(Fixnum)
|
25
|
+
expect(record.id).to be < 0
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should have a negative id, if id not specified' do
|
29
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { })
|
30
|
+
expect(record.id).to be_an_instance_of(Fixnum)
|
31
|
+
expect(record.id).to be < 0
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'should have a combined episode number' do
|
35
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "Combined_episodenumber" => "5.2" })
|
36
|
+
expect(record.combined_episodenumber).to be_an_instance_of(Float)
|
37
|
+
expect(record.combined_episodenumber).to eq(5.2)
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'should have a negative combined episode number, if invalid specified' do
|
41
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "Combined_episodenumber" => "INVALID_COMBINED_EPISODE_NUMBER" })
|
42
|
+
expect(record.combined_episodenumber).to be_an_instance_of(Float)
|
43
|
+
expect(record.combined_episodenumber).to be < 0
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'should have a negative combined episode number, if not specified' do
|
47
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { })
|
48
|
+
expect(record.combined_episodenumber).to be_an_instance_of(Float)
|
49
|
+
expect(record.combined_episodenumber).to be < 0
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'should have a combined season number' do
|
53
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "Combined_season" => "5" })
|
54
|
+
expect(record.combined_season).to be_an_instance_of(Fixnum)
|
55
|
+
expect(record.combined_season).to eq(5)
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'should have a negative combined episode number, if invalid specified' do
|
59
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "Combined_season" => "INVALID_COMBINED_SEASON" })
|
60
|
+
expect(record.combined_season).to be_an_instance_of(Fixnum)
|
61
|
+
expect(record.combined_season).to be < 0
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'should have a negative combined episode number, if not specified' do
|
65
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { })
|
66
|
+
expect(record.combined_season).to be_an_instance_of(Fixnum)
|
67
|
+
expect(record.combined_season).to be < 0
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'should have a DVD chapter field' do
|
71
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "DVD_chapter" => "5" })
|
72
|
+
expect(record.dvd_chapter).to be_an_instance_of(String)
|
73
|
+
expect(record.dvd_chapter).to eq("5")
|
74
|
+
end
|
75
|
+
|
76
|
+
it 'should have a nil DVD chapter field, if not specified' do
|
77
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { })
|
78
|
+
expect(record.dvd_chapter).to be_nil
|
79
|
+
end
|
80
|
+
|
81
|
+
it 'should have a DVD disc field' do
|
82
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "DVD_discid" => "5" })
|
83
|
+
expect(record.dvd_discid).to be_an_instance_of(String)
|
84
|
+
expect(record.dvd_discid).to eq("5")
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'should have a nil DVD disc field, if not specified' do
|
88
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { })
|
89
|
+
expect(record.dvd_chapter).to be_nil
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'should have a DVD episode number' do
|
93
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "DVD_episodenumber" => "1.2" })
|
94
|
+
expect(record.dvd_episodenumber).to be_an_instance_of(Float)
|
95
|
+
expect(record.dvd_episodenumber).to eq(1.2)
|
96
|
+
end
|
97
|
+
|
98
|
+
it 'should have a negative DVD episode number, if invalid specified' do
|
99
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "DVD_episodenumber" => "INVALID_DVD_EPISODENUMBER" })
|
100
|
+
expect(record.dvd_episodenumber).to be_an_instance_of(Float)
|
101
|
+
expect(record.dvd_episodenumber).to be < 0
|
102
|
+
end
|
103
|
+
|
104
|
+
it 'should have a negative DVD episode number, if not specified' do
|
105
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { })
|
106
|
+
expect(record.dvd_episodenumber).to be_an_instance_of(Float)
|
107
|
+
expect(record.dvd_episodenumber).to be < 0
|
108
|
+
end
|
109
|
+
|
110
|
+
it 'should have a DVD season number' do
|
111
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "DVD_season" => "1" })
|
112
|
+
expect(record.dvd_episodenumber).to be_an_instance_of(Fixnum)
|
113
|
+
expect(record.dvd_episodenumber).to eq(1.2)
|
114
|
+
end
|
115
|
+
|
116
|
+
it 'should have a negative DVD season number, if invalid specified' do
|
117
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "DVD_season" => "INVALID_DVD_SEASON" })
|
118
|
+
expect(record.dvd_episodenumber).to be_an_instance_of(Fixnum)
|
119
|
+
expect(record.dvd_episodenumber).to be < 0
|
120
|
+
end
|
121
|
+
|
122
|
+
it 'should have a negative DVD season number, if not specified' do
|
123
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { })
|
124
|
+
expect(record.dvd_episodenumber).to be_an_instance_of(Fixnum)
|
125
|
+
expect(record.dvd_episodenumber).to be < 0
|
126
|
+
end
|
127
|
+
|
128
|
+
it 'should have a single element array for the director, if only one name is specified' do
|
129
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "Director" => "Graeme Harper" })
|
130
|
+
expect(record.director).to match_array(["Graeme Harper"])
|
131
|
+
end
|
5
132
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
"id" => "0"
|
10
|
-
}
|
11
|
-
)
|
12
|
-
@invalid_record = TheTvDbParty::BaseEpisodeRecord.new(nil, { })
|
133
|
+
it 'should have a multi element array for the director, if a pipe-delimited list is specified' do
|
134
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "Director" => "Bruno Heller|Tom Szentgyorgyi|Jordan Harper" })
|
135
|
+
expect(record.director).to match_array(["Bruno Heller", "Tom Szentgyorgyi", "Jordan Harper"])
|
13
136
|
end
|
14
137
|
|
15
|
-
it 'should have
|
16
|
-
|
138
|
+
it 'should have a multi element array for the director, if a pipe-surrounded list is specified' do
|
139
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { "Director" => "|Bruno Heller|Tom Szentgyorgyi|Jordan Harper|" })
|
140
|
+
expect(record.director).to match_array(["Bruno Heller", "Tom Szentgyorgyi", "Jordan Harper"])
|
17
141
|
end
|
18
142
|
|
19
|
-
it 'should have
|
20
|
-
|
143
|
+
it 'should have an empty array for director, if none is specified' do
|
144
|
+
record = TheTvDbParty::BaseEpisodeRecord.new(nil, { })
|
145
|
+
expect(record.director).to be_empty
|
21
146
|
end
|
22
147
|
|
23
148
|
it 'should not instantiate when created without hash values' do
|
24
|
-
expect{TheTvDbParty::BaseEpisodeRecord.new(nil, nil)}.to raise_error
|
149
|
+
expect { TheTvDbParty::BaseEpisodeRecord.new(nil, nil) }.to raise_error
|
25
150
|
end
|
26
151
|
end
|
data/thetvdb_party.gemspec
CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.add_development_dependency "bundler", "~> 1.7"
|
28
28
|
spec.add_development_dependency "rake", "~> 10.0"
|
29
29
|
spec.add_development_dependency "rspec", "~> 3.2"
|
30
|
+
spec.add_development_dependency "coderay", "~> 1.1"
|
30
31
|
|
31
32
|
spec.add_dependency "httparty", "~> 0.6"
|
32
33
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thetvdb_party
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fredrik Høisæther Rasch
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2015-02-
|
15
|
+
date: 2015-02-24 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: bundler
|
@@ -56,6 +56,20 @@ dependencies:
|
|
56
56
|
- - "~>"
|
57
57
|
- !ruby/object:Gem::Version
|
58
58
|
version: '3.2'
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: coderay
|
61
|
+
requirement: !ruby/object:Gem::Requirement
|
62
|
+
requirements:
|
63
|
+
- - "~>"
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '1.1'
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: !ruby/object:Gem::Requirement
|
69
|
+
requirements:
|
70
|
+
- - "~>"
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '1.1'
|
59
73
|
- !ruby/object:Gem::Dependency
|
60
74
|
name: httparty
|
61
75
|
requirement: !ruby/object:Gem::Requirement
|