thetvdb_api 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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