thetvdb_api 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 82c9a99fb9fa13974c7f00e23f00c164433b0022
4
- data.tar.gz: 8409f71bc88aea05716703d69449d90e290e8fab
3
+ metadata.gz: f3740260dd6af0b5e4b3c7c93b7fbdc511a14efd
4
+ data.tar.gz: 8fb1c91dd7536b7b67a502388dd79c1b285620bd
5
5
  SHA512:
6
- metadata.gz: 4cecac72881ed8dfb87e3da1a1f04caae7e9ef30e21833a0264080a67debac86fff469aa59017129c05169b402a27877f9ecec4aa323557d59aa7f74ba0deefb
7
- data.tar.gz: e458d7169560328f73889af865d7731bd9c4d75308c01d6a61e09a1190fdd0c222823c53aab35881bceeca6c5b51324a96d9d0cabbfc5248178ef85e5ee87d18
6
+ metadata.gz: 771075d0e3a430cfc18635cc1a4568f2311b2dfb603e1a146f7c0ddc73bc4c885a763f27c0fa2b687d4858e2e408eac8e55b458a6c654d8902202a4d494ff67f
7
+ data.tar.gz: 9e7d3a5d4a120130d6d2e4d970621c8c6bb02809c361b0af41a75a05a51abdf69342c4debdfd68e25523125b68f37a8a5b4318501cee5e4867b03e0d3b9284d1
@@ -3,4 +3,5 @@ script: 'bundle exec rspec spec/functionals'
3
3
  rvm:
4
4
  - 1.9.3
5
5
  - 2.0.0
6
- - 2.1.0
6
+ - 2.1.5
7
+ - 2.2.0
@@ -1,3 +1,14 @@
1
+ ## 0.3.2 (January 20, 2015)
2
+
3
+ - fix series method
4
+ - add more test for better test coverage
5
+
6
+ ## 0.3.1 (January 20, 2015)
7
+
8
+ - use ov gem for multimethod
9
+ - use hashie for normalize params key names
10
+ - fix zap2it url params after updated official documentation
11
+
1
12
  ## 0.3.0 (September 5, 2014)
2
13
 
3
14
  - two way to pass attributes: hash attributes or simple multi attributes (in correct order)
@@ -3,4 +3,5 @@ require 'hashie'
3
3
  class ThetvdbApi::AttributesMapping::Search::GetEpisode < Hashie::Trash
4
4
  property :seriesid, from: :series_id
5
5
  property :airdate, from: :air_date
6
+ property :language
6
7
  end
@@ -50,7 +50,7 @@ class ThetvdbApi::Series < ThetvdbApi::Base
50
50
  # param:
51
51
  # find_url(1234, 'de')
52
52
  # output: url string
53
- let :find_url, Any do |id, language|
53
+ let :find_url, Any, String do |id, language|
54
54
  find_url(id: id, language: language)
55
55
  end
56
56
 
@@ -113,7 +113,7 @@ class ThetvdbApi::Series < ThetvdbApi::Base
113
113
  # param:
114
114
  # find_full_url(1234, 'de')
115
115
  # output: url string
116
- let :find_full_url, Any do |id, language|
116
+ let :find_full_url, Any, String do |id, language|
117
117
  find_full_url(id: id, language: language)
118
118
  end
119
119
 
@@ -1,3 +1,3 @@
1
1
  module ThetvdbApi
2
- VERSION = '0.3.1'
2
+ VERSION = '0.3.2'
3
3
  end
@@ -9,9 +9,13 @@ describe ThetvdbApi::Episode do
9
9
  let(:faraday_stubs) do
10
10
  Faraday::Adapter::Test::Stubs.new do |stub|
11
11
  stub.get('/api/123456789/series/1234/default/1/1/en.xml') { [200, { content_type: 'xml' }, episode_data] }
12
+ stub.get('/api/123456789/series/1234/default/1/1/de.xml') { [200, { content_type: 'xml' }, episode_data] }
12
13
  stub.get('/api/123456789/series/1234/dvd/1/1/en.xml') { [200, { content_type: 'xml' }, episode_data] }
14
+ stub.get('/api/123456789/series/1234/dvd/1/1/de.xml') { [200, { content_type: 'xml' }, episode_data] }
13
15
  stub.get('/api/123456789/series/1234/absolute/1/en.xml') { [200, { content_type: 'xml' }, episode_data] }
16
+ stub.get('/api/123456789/series/1234/absolute/1/de.xml') { [200, { content_type: 'xml' }, episode_data] }
14
17
  stub.get('/api/123456789/episodes/1234/en.xml') { [200, { content_type: 'xml' }, episode_data] }
18
+ stub.get('/api/123456789/episodes/1234/de.xml') { [200, { content_type: 'xml' }, episode_data] }
15
19
  end
16
20
  end
17
21
 
@@ -27,12 +31,24 @@ describe ThetvdbApi::Episode do
27
31
  end
28
32
 
29
33
  context 'normal attributes' do
30
- it 'should return Faraday::Response class' do
31
- expect(model.find_by_default_order(1234, 1, 1)).to be_a(Faraday::Response)
34
+ context 'without optional attribute' do
35
+ it 'should return Faraday::Response class' do
36
+ expect(model.find_by_default_order(1234, 1, 1)).to be_a(Faraday::Response)
37
+ end
38
+
39
+ it 'should return Hash class for body reponse' do
40
+ expect(model.find_by_default_order(1234, 1, 1).body).to be_a(Hash)
41
+ end
32
42
  end
33
43
 
34
- it 'should return Hash class for body reponse' do
35
- expect(model.find_by_default_order(1234, 1, 1).body).to be_a(Hash)
44
+ context 'with optional attribute' do
45
+ it 'should return Faraday::Response class' do
46
+ expect(model.find_by_default_order(1234, 1, 1, 'de')).to be_a(Faraday::Response)
47
+ end
48
+
49
+ it 'should return Hash class for body reponse' do
50
+ expect(model.find_by_default_order(1234, 1, 1, 'de').body).to be_a(Hash)
51
+ end
36
52
  end
37
53
  end
38
54
  end
@@ -47,10 +63,20 @@ describe ThetvdbApi::Episode do
47
63
  end
48
64
 
49
65
  context 'normal attributes' do
50
- it 'should return correct url' do
51
- expect(
52
- model.find_by_default_order_url(1234, 1, 1)
53
- ).to eq('http://thetvdb.com/api/123456789/series/1234/default/1/1/en.xml')
66
+ context 'without optional attribute' do
67
+ it 'should return correct url' do
68
+ expect(
69
+ model.find_by_default_order_url(1234, 1, 1)
70
+ ).to eq('http://thetvdb.com/api/123456789/series/1234/default/1/1/en.xml')
71
+ end
72
+ end
73
+
74
+ context 'with optional attribute' do
75
+ it 'should return correct url' do
76
+ expect(
77
+ model.find_by_default_order_url(1234, 1, 1, 'de')
78
+ ).to eq('http://thetvdb.com/api/123456789/series/1234/default/1/1/de.xml')
79
+ end
54
80
  end
55
81
  end
56
82
  end
@@ -67,12 +93,24 @@ describe ThetvdbApi::Episode do
67
93
  end
68
94
 
69
95
  context 'normal attributes' do
70
- it 'should return Faraday::Response class' do
71
- expect(model.find_by_dvd_order(1234, 1, 1)).to be_a(Faraday::Response)
96
+ context 'without optional attribute' do
97
+ it 'should return Faraday::Response class' do
98
+ expect(model.find_by_dvd_order(1234, 1, 1)).to be_a(Faraday::Response)
99
+ end
100
+
101
+ it 'should return Hash class for body reponse' do
102
+ expect(model.find_by_dvd_order(1234, 1, 1).body).to be_a(Hash)
103
+ end
72
104
  end
73
105
 
74
- it 'should return Hash class for body reponse' do
75
- expect(model.find_by_dvd_order(1234, 1, 1).body).to be_a(Hash)
106
+ context 'without optional attribute' do
107
+ it 'should return Faraday::Response class' do
108
+ expect(model.find_by_dvd_order(1234, 1, 1, 'de')).to be_a(Faraday::Response)
109
+ end
110
+
111
+ it 'should return Hash class for body reponse' do
112
+ expect(model.find_by_dvd_order(1234, 1, 1, 'de').body).to be_a(Hash)
113
+ end
76
114
  end
77
115
  end
78
116
  end
@@ -87,10 +125,20 @@ describe ThetvdbApi::Episode do
87
125
  end
88
126
 
89
127
  context 'normal attributes' do
90
- it 'should return correct url' do
91
- expect(
92
- model.find_by_dvd_order_url(1234, 1, 1)
93
- ).to eq('http://thetvdb.com/api/123456789/series/1234/dvd/1/1/en.xml')
128
+ context 'without optional attribute' do
129
+ it 'should return correct url' do
130
+ expect(
131
+ model.find_by_dvd_order_url(1234, 1, 1)
132
+ ).to eq('http://thetvdb.com/api/123456789/series/1234/dvd/1/1/en.xml')
133
+ end
134
+ end
135
+
136
+ context 'without optional attribute' do
137
+ it 'should return correct url' do
138
+ expect(
139
+ model.find_by_dvd_order_url(1234, 1, 1, 'de')
140
+ ).to eq('http://thetvdb.com/api/123456789/series/1234/dvd/1/1/de.xml')
141
+ end
94
142
  end
95
143
  end
96
144
  end
@@ -107,12 +155,24 @@ describe ThetvdbApi::Episode do
107
155
  end
108
156
 
109
157
  context 'normal attributes' do
110
- it 'should return Faraday::Response class' do
111
- expect(model.find_by_absolute_order(1234, 1)).to be_a(Faraday::Response)
158
+ context 'without optional attribute' do
159
+ it 'should return Faraday::Response class' do
160
+ expect(model.find_by_absolute_order(1234, 1)).to be_a(Faraday::Response)
161
+ end
162
+
163
+ it 'should return Hash class for body reponse' do
164
+ expect(model.find_by_absolute_order(1234, 1).body).to be_a(Hash)
165
+ end
112
166
  end
113
167
 
114
- it 'should return Hash class for body reponse' do
115
- expect(model.find_by_absolute_order(1234, 1).body).to be_a(Hash)
168
+ context 'without optional attribute' do
169
+ it 'should return Faraday::Response class' do
170
+ expect(model.find_by_absolute_order(1234, 1, 'de')).to be_a(Faraday::Response)
171
+ end
172
+
173
+ it 'should return Hash class for body reponse' do
174
+ expect(model.find_by_absolute_order(1234, 1, 'de').body).to be_a(Hash)
175
+ end
116
176
  end
117
177
  end
118
178
  end
@@ -127,10 +187,20 @@ describe ThetvdbApi::Episode do
127
187
  end
128
188
 
129
189
  context 'normal attributes' do
130
- it 'should return correct url' do
131
- expect(
132
- model.find_by_absolute_order_url(1234, 1)
133
- ).to eq('http://thetvdb.com/api/123456789/series/1234/absolute/1/en.xml')
190
+ context 'without optional attribute' do
191
+ it 'should return correct url' do
192
+ expect(
193
+ model.find_by_absolute_order_url(1234, 1)
194
+ ).to eq('http://thetvdb.com/api/123456789/series/1234/absolute/1/en.xml')
195
+ end
196
+ end
197
+
198
+ context 'without optional attribute' do
199
+ it 'should return correct url' do
200
+ expect(
201
+ model.find_by_absolute_order_url(1234, 1, 'de')
202
+ ).to eq('http://thetvdb.com/api/123456789/series/1234/absolute/1/de.xml')
203
+ end
134
204
  end
135
205
  end
136
206
  end
@@ -147,12 +217,24 @@ describe ThetvdbApi::Episode do
147
217
  end
148
218
 
149
219
  context 'normal attributes' do
150
- it 'should return Faraday::Response class' do
151
- expect(model.find(1234)).to be_a(Faraday::Response)
220
+ context 'without optional attribute' do
221
+ it 'should return Faraday::Response class' do
222
+ expect(model.find(1234)).to be_a(Faraday::Response)
223
+ end
224
+
225
+ it 'should return Hash class for body reponse' do
226
+ expect(model.find(1234).body).to be_a(Hash)
227
+ end
152
228
  end
153
229
 
154
- it 'should return Hash class for body reponse' do
155
- expect(model.find(1234).body).to be_a(Hash)
230
+ context 'without optional attribute' do
231
+ it 'should return Faraday::Response class' do
232
+ expect(model.find(1234, 'de')).to be_a(Faraday::Response)
233
+ end
234
+
235
+ it 'should return Hash class for body reponse' do
236
+ expect(model.find(1234, 'de').body).to be_a(Hash)
237
+ end
156
238
  end
157
239
  end
158
240
  end
@@ -167,10 +249,20 @@ describe ThetvdbApi::Episode do
167
249
  end
168
250
 
169
251
  context 'normal attributes' do
170
- it 'should return correct url' do
171
- expect(
172
- model.find_url(1234)
173
- ).to eq('http://thetvdb.com/api/123456789/episodes/1234/en.xml')
252
+ context 'without optional attribute' do
253
+ it 'should return correct url' do
254
+ expect(
255
+ model.find_url(1234)
256
+ ).to eq('http://thetvdb.com/api/123456789/episodes/1234/en.xml')
257
+ end
258
+ end
259
+
260
+ context 'without optional attribute' do
261
+ it 'should return correct url' do
262
+ expect(
263
+ model.find_url(1234, 'de')
264
+ ).to eq('http://thetvdb.com/api/123456789/episodes/1234/de.xml')
265
+ end
174
266
  end
175
267
  end
176
268
  end
@@ -11,9 +11,15 @@ describe ThetvdbApi::Search do
11
11
  let(:faraday_stubs) do
12
12
  Faraday::Adapter::Test::Stubs.new do |stub|
13
13
  stub.get('/api/GetSeries.php?language=en&seriesname=Supernatural') { [200, { content_type: 'xml' }, get_series_data] }
14
+ stub.get('/api/GetSeries.php?language=de&seriesname=Supernatural') { [200, { content_type: 'xml' }, get_series_data] }
14
15
  stub.get('/api/GetSeriesByRemoteID.php?language=en&imdbid=tt0290978') { [200, { content_type: 'xml' }, get_series_by_remote_data] }
16
+ stub.get('/api/GetSeriesByRemoteID.php?language=de&imdbid=tt0290978') { [200, { content_type: 'xml' }, get_series_by_remote_data] }
15
17
  stub.get('/api/GetSeriesByRemoteID.php?language=en&zap2it=SH01234') { [200, { content_type: 'xml' }, get_series_by_remote_data] }
16
- stub.get('/api/GetEpisodeByAirDate.php?language=en&airdate=2007-09-24&apikey=123456789&language=en&seriesid=80348') do
18
+ stub.get('/api/GetSeriesByRemoteID.php?language=de&zap2it=SH01234') { [200, { content_type: 'xml' }, get_series_by_remote_data] }
19
+ stub.get('/api/GetEpisodeByAirDate.php?language=en&airdate=2007-09-24&apikey=123456789&seriesid=80348') do
20
+ [200, { content_type: 'xml' }, get_episode_data]
21
+ end
22
+ stub.get('/api/GetEpisodeByAirDate.php?language=de&airdate=2007-09-24&apikey=123456789&seriesid=80348') do
17
23
  [200, { content_type: 'xml' }, get_episode_data]
18
24
  end
19
25
  end
@@ -31,12 +37,24 @@ describe ThetvdbApi::Search do
31
37
  end
32
38
 
33
39
  context 'normal attributes' do
34
- it 'should return Faraday::Response class' do
35
- expect(model.get_series('Supernatural')).to be_a(Faraday::Response)
40
+ context 'without optional attribute' do
41
+ it 'should return Faraday::Response class' do
42
+ expect(model.get_series('Supernatural')).to be_a(Faraday::Response)
43
+ end
44
+
45
+ it 'should return Hash class for body reponse' do
46
+ expect(model.get_series('Supernatural').body).to be_a(Hash)
47
+ end
36
48
  end
37
49
 
38
- it 'should return Hash class for body reponse' do
39
- expect(model.get_series('Supernatural').body).to be_a(Hash)
50
+ context 'without optional attribute' do
51
+ it 'should return Faraday::Response class' do
52
+ expect(model.get_series('Supernatural', 'de')).to be_a(Faraday::Response)
53
+ end
54
+
55
+ it 'should return Hash class for body reponse' do
56
+ expect(model.get_series('Supernatural', 'de').body).to be_a(Hash)
57
+ end
40
58
  end
41
59
  end
42
60
  end
@@ -51,10 +69,20 @@ describe ThetvdbApi::Search do
51
69
  end
52
70
 
53
71
  context 'normal attributes' do
54
- it 'should return correct url' do
55
- expect(
56
- model.get_series_url('Supernatural')
57
- ).to eq('http://thetvdb.com/api/GetSeries.php?language=en&seriesname=Supernatural')
72
+ context 'without optional attribute' do
73
+ it 'should return correct url' do
74
+ expect(
75
+ model.get_series_url('Supernatural')
76
+ ).to eq('http://thetvdb.com/api/GetSeries.php?language=en&seriesname=Supernatural')
77
+ end
78
+ end
79
+
80
+ context 'without optional attribute' do
81
+ it 'should return correct url' do
82
+ expect(
83
+ model.get_series_url('Supernatural', 'de')
84
+ ).to eq('http://thetvdb.com/api/GetSeries.php?language=de&seriesname=Supernatural')
85
+ end
58
86
  end
59
87
  end
60
88
  end
@@ -105,44 +133,88 @@ describe ThetvdbApi::Search do
105
133
 
106
134
  describe '.get_series_by_imdb_id' do
107
135
  context 'normal attributes' do
108
- it 'should return Faraday::Response class' do
109
- expect(model.get_series_by_imdb_id('tt0290978')).to be_a(Faraday::Response)
136
+ context 'without optional attribute' do
137
+ it 'should return Faraday::Response class' do
138
+ expect(model.get_series_by_imdb_id('tt0290978')).to be_a(Faraday::Response)
139
+ end
140
+
141
+ it 'should return Hash class for body reponse' do
142
+ expect(model.get_series_by_imdb_id('tt0290978').body).to be_a(Hash)
143
+ end
110
144
  end
111
145
 
112
- it 'should return Hash class for body reponse' do
113
- expect(model.get_series_by_imdb_id('tt0290978').body).to be_a(Hash)
146
+ context 'without optional attribute' do
147
+ it 'should return Faraday::Response class' do
148
+ expect(model.get_series_by_imdb_id('tt0290978', 'de')).to be_a(Faraday::Response)
149
+ end
150
+
151
+ it 'should return Hash class for body reponse' do
152
+ expect(model.get_series_by_imdb_id('tt0290978', 'de').body).to be_a(Hash)
153
+ end
114
154
  end
115
155
  end
116
156
  end
117
157
 
118
158
  describe '.get_series_by_imdb_id_url' do
119
159
  context 'normal attributes' do
120
- it 'should return correct url' do
121
- expect(
122
- model.get_series_by_imdb_id_url('tt0290978')
123
- ).to eq('http://thetvdb.com/api/GetSeriesByRemoteID.php?language=en&imdbid=tt0290978')
160
+ context 'without optional attribute' do
161
+ it 'should return correct url' do
162
+ expect(
163
+ model.get_series_by_imdb_id_url('tt0290978')
164
+ ).to eq('http://thetvdb.com/api/GetSeriesByRemoteID.php?language=en&imdbid=tt0290978')
165
+ end
166
+ end
167
+
168
+ context 'without optional attribute' do
169
+ it 'should return correct url' do
170
+ expect(
171
+ model.get_series_by_imdb_id_url('tt0290978', 'de')
172
+ ).to eq('http://thetvdb.com/api/GetSeriesByRemoteID.php?language=de&imdbid=tt0290978')
173
+ end
124
174
  end
125
175
  end
126
176
  end
127
177
 
128
178
  describe '.get_series_by_zap2it_id' do
129
179
  context 'normal attributes' do
130
- it 'should return Faraday::Response class' do
131
- expect(model.get_series_by_zap2it_id('SH01234')).to be_a(Faraday::Response)
180
+ context 'without optional attribute' do
181
+ it 'should return Faraday::Response class' do
182
+ expect(model.get_series_by_zap2it_id('SH01234')).to be_a(Faraday::Response)
183
+ end
184
+
185
+ it 'should return Hash class for body reponse' do
186
+ expect(model.get_series_by_zap2it_id('SH01234').body).to be_a(Hash)
187
+ end
132
188
  end
133
189
 
134
- it 'should return Hash class for body reponse' do
135
- expect(model.get_series_by_zap2it_id('SH01234').body).to be_a(Hash)
190
+ context 'without optional attribute' do
191
+ it 'should return Faraday::Response class' do
192
+ expect(model.get_series_by_zap2it_id('SH01234', 'de')).to be_a(Faraday::Response)
193
+ end
194
+
195
+ it 'should return Hash class for body reponse' do
196
+ expect(model.get_series_by_zap2it_id('SH01234', 'de').body).to be_a(Hash)
197
+ end
136
198
  end
137
199
  end
138
200
  end
139
201
 
140
202
  describe '.get_series_by_zap2it_id_url' do
141
203
  context 'normal attributes' do
142
- it 'should return correct url' do
143
- expect(
144
- model.get_series_by_zap2it_id_url('SH01234')
145
- ).to eq('http://thetvdb.com/api/GetSeriesByRemoteID.php?language=en&zap2it=SH01234')
204
+ context 'without optional attribute' do
205
+ it 'should return correct url' do
206
+ expect(
207
+ model.get_series_by_zap2it_id_url('SH01234')
208
+ ).to eq('http://thetvdb.com/api/GetSeriesByRemoteID.php?language=en&zap2it=SH01234')
209
+ end
210
+ end
211
+
212
+ context 'without optional attribute' do
213
+ it 'should return correct url' do
214
+ expect(
215
+ model.get_series_by_zap2it_id_url('SH01234', 'de')
216
+ ).to eq('http://thetvdb.com/api/GetSeriesByRemoteID.php?language=de&zap2it=SH01234')
217
+ end
146
218
  end
147
219
  end
148
220
  end
@@ -159,12 +231,24 @@ describe ThetvdbApi::Search do
159
231
  end
160
232
 
161
233
  context 'normal attributes' do
162
- it 'should return Faraday::Response class' do
163
- expect(model.get_episode(80348, '2007-09-24')).to be_a(Faraday::Response)
234
+ context 'without optional attribute' do
235
+ it 'should return Faraday::Response class' do
236
+ expect(model.get_episode(80348, '2007-09-24')).to be_a(Faraday::Response)
237
+ end
238
+
239
+ it 'should return Hash class for body reponse' do
240
+ expect(model.get_episode(80348, '2007-09-24').body).to be_a(Hash)
241
+ end
164
242
  end
165
243
 
166
- it 'should return Hash class for body reponse' do
167
- expect(model.get_episode(80348, '2007-09-24').body).to be_a(Hash)
244
+ context 'without optional attribute' do
245
+ it 'should return Faraday::Response class' do
246
+ expect(model.get_episode(80348, '2007-09-24', 'de')).to be_a(Faraday::Response)
247
+ end
248
+
249
+ it 'should return Hash class for body reponse' do
250
+ expect(model.get_episode(80348, '2007-09-24', 'de').body).to be_a(Hash)
251
+ end
168
252
  end
169
253
  end
170
254
  end
@@ -179,10 +263,20 @@ describe ThetvdbApi::Search do
179
263
  end
180
264
 
181
265
  context 'normal attributes' do
182
- it 'should return correct url' do
183
- expect(
184
- model.get_episode_url(80348, '2007-09-24')
185
- ).to eq('http://thetvdb.com/api/GetEpisodeByAirDate.php?apikey=123456789&language=en&seriesid=80348&airdate=2007-09-24')
266
+ context 'without optional attribute' do
267
+ it 'should return correct url' do
268
+ expect(
269
+ model.get_episode_url(80348, '2007-09-24')
270
+ ).to eq('http://thetvdb.com/api/GetEpisodeByAirDate.php?apikey=123456789&language=en&seriesid=80348&airdate=2007-09-24')
271
+ end
272
+ end
273
+
274
+ context 'without optional attribute' do
275
+ it 'should return correct url' do
276
+ expect(
277
+ model.get_episode_url(80348, '2007-09-24', 'de')
278
+ ).to eq('http://thetvdb.com/api/GetEpisodeByAirDate.php?apikey=123456789&language=de&seriesid=80348&airdate=2007-09-24')
279
+ end
186
280
  end
187
281
  end
188
282
  end
@@ -10,7 +10,9 @@ describe ThetvdbApi::Series do
10
10
  let(:faraday_stubs) do
11
11
  Faraday::Adapter::Test::Stubs.new do |stub|
12
12
  stub.get('/api/123456789/series/1234/en.xml') { [200, { content_type: 'xml' }, series_data] }
13
+ stub.get('/api/123456789/series/1234/de.xml') { [200, { content_type: 'xml' }, series_data] }
13
14
  stub.get('/api/123456789/series/1234/all/en.xml') { [200, { content_type: 'xml' }, full_series_data] }
15
+ stub.get('/api/123456789/series/1234/all/de.xml') { [200, { content_type: 'xml' }, full_series_data] }
14
16
  end
15
17
  end
16
18
 
@@ -26,12 +28,24 @@ describe ThetvdbApi::Series do
26
28
  end
27
29
 
28
30
  context 'normal attributes' do
29
- it 'should return Faraday::Response class' do
30
- expect(model.find(1234)).to be_a(Faraday::Response)
31
+ context 'without optional attribute' do
32
+ it 'should return Faraday::Response class' do
33
+ expect(model.find(1234)).to be_a(Faraday::Response)
34
+ end
35
+
36
+ it 'should return Hash class for body reponse' do
37
+ expect(model.find(1234).body).to be_a(Hash)
38
+ end
31
39
  end
32
40
 
33
- it 'should return Hash class for body reponse' do
34
- expect(model.find(1234).body).to be_a(Hash)
41
+ context 'without optional attribute' do
42
+ it 'should return Faraday::Response class' do
43
+ expect(model.find(1234, 'de')).to be_a(Faraday::Response)
44
+ end
45
+
46
+ it 'should return Hash class for body reponse' do
47
+ expect(model.find(1234, 'de').body).to be_a(Hash)
48
+ end
35
49
  end
36
50
  end
37
51
  end
@@ -44,8 +58,16 @@ describe ThetvdbApi::Series do
44
58
  end
45
59
 
46
60
  context 'normal attributes' do
47
- it 'should return correct url' do
48
- expect(model.find_url(1234)).to eq('http://thetvdb.com/api/123456789/series/1234/en.xml')
61
+ context 'without optional attribute' do
62
+ it 'should return correct url' do
63
+ expect(model.find_url(1234)).to eq('http://thetvdb.com/api/123456789/series/1234/en.xml')
64
+ end
65
+ end
66
+
67
+ context 'without optional attribute' do
68
+ it 'should return correct url' do
69
+ expect(model.find_url(1234, 'de')).to eq('http://thetvdb.com/api/123456789/series/1234/de.xml')
70
+ end
49
71
  end
50
72
  end
51
73
  end
@@ -62,12 +84,24 @@ describe ThetvdbApi::Series do
62
84
  end
63
85
 
64
86
  context 'normal attributes' do
65
- it 'should return Faraday::Response class' do
66
- expect(model.find_full(1234)).to be_a(Faraday::Response)
87
+ context 'without optional attribute' do
88
+ it 'should return Faraday::Response class' do
89
+ expect(model.find_full(1234)).to be_a(Faraday::Response)
90
+ end
91
+
92
+ it 'should return Hash class for body reponse' do
93
+ expect(model.find_full(1234).body).to be_a(Hash)
94
+ end
67
95
  end
68
96
 
69
- it 'should return Hash class for body reponse' do
70
- expect(model.find_full(1234).body).to be_a(Hash)
97
+ context 'without optional attribute' do
98
+ it 'should return Faraday::Response class' do
99
+ expect(model.find_full(1234, 'de')).to be_a(Faraday::Response)
100
+ end
101
+
102
+ it 'should return Hash class for body reponse' do
103
+ expect(model.find_full(1234, 'de').body).to be_a(Hash)
104
+ end
71
105
  end
72
106
  end
73
107
  end
@@ -80,8 +114,16 @@ describe ThetvdbApi::Series do
80
114
  end
81
115
 
82
116
  context 'normal attributes' do
83
- it 'should return correct url' do
84
- expect(model.find_full_url(1234)).to eq('http://thetvdb.com/api/123456789/series/1234/all/en.xml')
117
+ context 'without optional attribute' do
118
+ it 'should return correct url' do
119
+ expect(model.find_full_url(1234)).to eq('http://thetvdb.com/api/123456789/series/1234/all/en.xml')
120
+ end
121
+ end
122
+
123
+ context 'without optional attribute' do
124
+ it 'should return correct url' do
125
+ expect(model.find_full_url(1234, 'de')).to eq('http://thetvdb.com/api/123456789/series/1234/all/de.xml')
126
+ end
85
127
  end
86
128
  end
87
129
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thetvdb_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Krzysztof Wawer