marvelite 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,140 @@
1
+ require 'spec_helper'
2
+
3
+ describe Marvelite::API::Client do
4
+ context "Characters Endpoints" do
5
+ let(:client) { marvelite_test_client }
6
+
7
+ describe '#characters' do
8
+ before do
9
+ stub_get('characters?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'characters/characters.json')
10
+ end
11
+
12
+ it 'returns a Marvelite::API::Response object' do
13
+ expect(client.characters).to be_a(Marvelite::API::Response)
14
+ end
15
+
16
+ it 'Response object is populated with JSON from the characters endpoint' do
17
+ expect(client.characters["status"]).to eq("Ok")
18
+ expect(client.characters[:data][:results].size).to eq(20)
19
+ end
20
+ end
21
+
22
+ describe '#character' do
23
+ before do
24
+ stub_get('characters?name=Spider-Man&apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'characters/character.json')
25
+ stub_get('characters/1009610?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'characters/character.json')
26
+ end
27
+ it 'returns a Marvelite::API::Response object' do
28
+ expect(client.character(1009610)).to be_a(Marvelite::API::Response)
29
+ end
30
+
31
+ it 'Response object is populated with JSON from the character endpoint' do
32
+ expect(client.character(1009610)[:data][:results][0][:name]).to eq('Spider-Man')
33
+ end
34
+
35
+ it 'accepts an Integer as character id' do
36
+ expect(client.character(1009610)[:data][:results][0][:name]).to eq('Spider-Man')
37
+ end
38
+
39
+ it 'accepts a String as character name' do
40
+ expect(client.character('Spider-Man')[:data][:results][0][:name]).to eq('Spider-Man')
41
+ end
42
+ end
43
+
44
+ describe '#character_comics' do
45
+ before do
46
+ stub_get('characters/1009610/comics?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'characters/character_comics.json')
47
+ end
48
+
49
+ it 'returns a Marvelite::API::Response object' do
50
+ expect(client.character_comics(1009610)).to be_a(Marvelite::API::Response)
51
+ end
52
+
53
+ it 'Response object is populated with JSON from the characters endpoint' do
54
+ expect(client.character_comics(1009610)["status"]).to eq("Ok")
55
+ expect(client.character_comics(1009610)[:data][:results].size).to eq(20)
56
+ end
57
+
58
+ it 'accepts an Integer as character id' do
59
+ expect(client.character_comics(1009610)[:data][:results][0][:title]).to eq('Superior Spider-Man (2013) #22')
60
+ end
61
+
62
+ it 'accetps a String as character id' do
63
+ expect(client.character_comics('Spider-Man')["status"]).to eq("Ok")
64
+ expect(client.character_comics('Spider-Man')[:data][:results].size).to eq(20)
65
+ end
66
+ end
67
+
68
+ describe '#character_events' do
69
+ before do
70
+ stub_get('characters/1009610/events?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'characters/character_events.json')
71
+ end
72
+
73
+ it 'returns a Marvelite::API::Response object' do
74
+ expect(client.character_events(1009610)).to be_a(Marvelite::API::Response)
75
+ end
76
+
77
+ it 'Response object is populated with JSON from the characters endpoint' do
78
+ expect(client.character_events(1009610)["status"]).to eq("Ok")
79
+ expect(client.character_events(1009610)[:data][:results].size).to eq(20)
80
+ end
81
+
82
+ it 'accepts an Integer as character id' do
83
+ expect(client.character_events(1009610)[:data][:results][0][:title]).to eq('Acts of Vengeance!')
84
+ end
85
+
86
+ it 'accetps a String as character id' do
87
+ expect(client.character_comics('Spider-Man')["status"]).to eq("Ok")
88
+ expect(client.character_comics('Spider-Man')[:data][:results].size).to eq(20)
89
+ end
90
+ end
91
+
92
+ describe '#character_series' do
93
+ before do
94
+ stub_get('characters/1009610/series?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'characters/character_series.json')
95
+ end
96
+
97
+ it 'returns a Marvelite::API::Response object' do
98
+ expect(client.character_series(1009610)).to be_a(Marvelite::API::Response)
99
+ end
100
+
101
+ it 'Response object is populated with JSON from the characters endpoint' do
102
+ expect(client.character_series(1009610)["status"]).to eq("Ok")
103
+ expect(client.character_series(1009610)[:data][:results].size).to eq(20)
104
+ end
105
+
106
+ it 'accepts an Integer as character id' do
107
+ expect(client.character_series(1009610)[:data][:results][0][:title]).to eq('A+X (2012 - Present)')
108
+ end
109
+
110
+ it 'accetps a String as character id' do
111
+ expect(client.character_comics('Spider-Man')["status"]).to eq("Ok")
112
+ expect(client.character_comics('Spider-Man')[:data][:results].size).to eq(20)
113
+ end
114
+ end
115
+
116
+ describe '#character_stories' do
117
+ before do
118
+ stub_get('characters/1009610/stories?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'characters/character_stories.json')
119
+ end
120
+
121
+ it 'returns a Marvelite::API::Response object' do
122
+ expect(client.character_stories(1009610)).to be_a(Marvelite::API::Response)
123
+ end
124
+
125
+ it 'Response object is populated with JSON from the characters endpoint' do
126
+ expect(client.character_stories(1009610)["status"]).to eq("Ok")
127
+ expect(client.character_stories(1009610)[:data][:results].size).to eq(20)
128
+ end
129
+
130
+ it 'accepts an Integer as character id' do
131
+ expect(client.character_stories(1009610)[:data][:results][0][:title]).to eq('Interior #483')
132
+ end
133
+
134
+ it 'accetps a String as character id' do
135
+ expect(client.character_comics('Spider-Man')["status"]).to eq("Ok")
136
+ expect(client.character_comics('Spider-Man')[:data][:results].size).to eq(20)
137
+ end
138
+ end
139
+ end
140
+ end
@@ -0,0 +1,115 @@
1
+ require 'spec_helper'
2
+
3
+ describe Marvelite::API::Client do
4
+ context "Comics Endpoints" do
5
+ let(:client) { marvelite_test_client }
6
+
7
+ describe '#comics' do
8
+ before do
9
+ stub_get('comics?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'comics/comics.json')
10
+ end
11
+
12
+ it 'returns a Marvelite::API::Response object' do
13
+ expect(client.comics).to be_a(Marvelite::API::Response)
14
+ end
15
+
16
+ it 'Response object is populated with JSON from the comics endpoint' do
17
+ expect(client.comics["status"]).to eq("Ok")
18
+ expect(client.comics[:data][:results].size).to eq(20)
19
+ end
20
+ end
21
+
22
+ describe '#comic' do
23
+ before do
24
+ stub_get('comics/40128?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'comics/comic.json')
25
+ end
26
+ it 'returns a Marvelite::API::Response object' do
27
+ expect(client.comic(40128)).to be_a(Marvelite::API::Response)
28
+ end
29
+
30
+ it 'Response object is populated with JSON from the comic endpoint' do
31
+ expect(client.comic(40128)[:data][:results][0][:title]).to eq('Amazing Spider-Man (1999) #700')
32
+ end
33
+
34
+ it 'accepts an Integer as comic id' do
35
+ expect(client.comic(40128)[:data][:results][0][:title]).to eq('Amazing Spider-Man (1999) #700')
36
+ end
37
+ end
38
+
39
+ describe '#comic_characters' do
40
+ before do
41
+ stub_get('comics/40128/characters?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'comics/comic_characters.json')
42
+ end
43
+
44
+ it 'returns a Marvelite::API::Response object' do
45
+ expect(client.comic_characters(40128)).to be_a(Marvelite::API::Response)
46
+ end
47
+
48
+ it 'Response object is populated with JSON from the comics endpoint' do
49
+ expect(client.comic_characters(40128)["status"]).to eq("Ok")
50
+ expect(client.comic_characters(40128)[:data][:results].size).to eq(1)
51
+ end
52
+
53
+ it 'accepts an Integer as comic id' do
54
+ expect(client.comic_characters(40128)[:data][:results][0][:name]).to eq('Spider-Man')
55
+ end
56
+ end
57
+
58
+ describe '#comic_events' do
59
+ before do
60
+ stub_get('comics/40128/events?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'comics/comic_events.json')
61
+ end
62
+
63
+ it 'returns a Marvelite::API::Response object' do
64
+ expect(client.comic_events(40128)).to be_a(Marvelite::API::Response)
65
+ end
66
+
67
+ it 'Response object is populated with JSON from the comics endpoint' do
68
+ expect(client.comic_events(40128)["status"]).to eq("Ok")
69
+ expect(client.comic_events(40128)[:data][:results].size).to eq(1)
70
+ end
71
+
72
+ it 'accepts an Integer as comic id' do
73
+ expect(client.comic_events(40128)[:data][:results][0][:title]).to eq('Avengers VS X-Men')
74
+ end
75
+ end
76
+
77
+ describe '#comic_creators' do
78
+ before do
79
+ stub_get('comics/40128/creators?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'comics/comic_creators.json')
80
+ end
81
+
82
+ it 'returns a Marvelite::API::Response object' do
83
+ expect(client.comic_creators(40128)).to be_a(Marvelite::API::Response)
84
+ end
85
+
86
+ it 'Response object is populated with JSON from the comics endpoint' do
87
+ expect(client.comic_creators(40128)["status"]).to eq("Ok")
88
+ expect(client.comic_creators(40128)[:data][:results].size).to eq(12)
89
+ end
90
+
91
+ it 'accepts an Integer as comic id' do
92
+ expect(client.comic_creators(40128)[:data][:results][0][:fullName]).to eq('Sal Buscema')
93
+ end
94
+ end
95
+
96
+ describe '#comic_stories' do
97
+ before do
98
+ stub_get('comics/40128/stories?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'comics/comic_stories.json')
99
+ end
100
+
101
+ it 'returns a Marvelite::API::Response object' do
102
+ expect(client.comic_stories(40128)).to be_a(Marvelite::API::Response)
103
+ end
104
+
105
+ it 'Response object is populated with JSON from the comics endpoint' do
106
+ expect(client.comic_stories(40128)["status"]).to eq("Ok")
107
+ expect(client.comic_stories(40128)[:data][:results].size).to eq(2)
108
+ end
109
+
110
+ it 'accepts an Integer as comic id' do
111
+ expect(client.comic_stories(40128)[:data][:results][0][:title]).to eq('Cover #91053')
112
+ end
113
+ end
114
+ end
115
+ end
@@ -67,7 +67,7 @@ describe Marvelite::API::Client do
67
67
  let(:client) { marvelite_test_client }
68
68
 
69
69
  before do
70
- stub_get('characters?name=Spider-Man&apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'character.json')
70
+ stub_get('characters?name=Spider-Man&apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'characters/character.json')
71
71
  end
72
72
 
73
73
  it 'retrieves a character through its name' do
@@ -81,142 +81,4 @@ describe Marvelite::API::Client do
81
81
  end
82
82
  end
83
83
  end
84
-
85
-
86
- context "Character Endpoints" do
87
- let(:client) { marvelite_test_client }
88
-
89
- describe '#characters' do
90
- before do
91
- stub_get('characters?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'characters.json')
92
- end
93
-
94
- it 'returns a Marvelite::API::Response object' do
95
- expect(client.characters).to be_a(Marvelite::API::Response)
96
- end
97
-
98
- it 'Response object is populated with JSON from the characters endpoint' do
99
- expect(client.characters["status"]).to eq("Ok")
100
- expect(client.characters[:data][:results].size).to eq(20)
101
- end
102
- end
103
-
104
- describe '#character' do
105
- before do
106
- stub_get('characters?name=Spider-Man&apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'character.json')
107
- stub_get('characters/1009610?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'character.json')
108
- end
109
- it 'returns a Marvelite::API::Response object' do
110
- expect(client.character(1009610)).to be_a(Marvelite::API::Response)
111
- end
112
-
113
- it 'Response object is populated with JSON from the character endpoint' do
114
- expect(client.character(1009610)[:data][:results][0][:name]).to eq('Spider-Man')
115
- end
116
-
117
- it 'accepts an Integer as character id' do
118
- expect(client.character(1009610)[:data][:results][0][:name]).to eq('Spider-Man')
119
- end
120
-
121
- it 'accepts a String as character name' do
122
- expect(client.character('Spider-Man')[:data][:results][0][:name]).to eq('Spider-Man')
123
- end
124
- end
125
-
126
- describe '#character_comics' do
127
- before do
128
- stub_get('characters/1009610/comics?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'character_comics.json')
129
- end
130
-
131
- it 'returns a Marvelite::API::Response object' do
132
- expect(client.character_comics(1009610)).to be_a(Marvelite::API::Response)
133
- end
134
-
135
- it 'Response object is populated with JSON from the characters endpoint' do
136
- expect(client.character_comics(1009610)["status"]).to eq("Ok")
137
- expect(client.character_comics(1009610)[:data][:results].size).to eq(20)
138
- end
139
-
140
- it 'accepts an Integer as character id' do
141
- expect(client.character_comics(1009610)[:data][:results][0][:title]).to eq('Superior Spider-Man (2013) #22')
142
- end
143
-
144
- it 'accetps a String as character id' do
145
- expect(client.character_comics('Spider-Man')["status"]).to eq("Ok")
146
- expect(client.character_comics('Spider-Man')[:data][:results].size).to eq(20)
147
- end
148
- end
149
-
150
- describe '#character_events' do
151
- before do
152
- stub_get('characters/1009610/events?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'character_events.json')
153
- end
154
-
155
- it 'returns a Marvelite::API::Response object' do
156
- expect(client.character_events(1009610)).to be_a(Marvelite::API::Response)
157
- end
158
-
159
- it 'Response object is populated with JSON from the characters endpoint' do
160
- expect(client.character_events(1009610)["status"]).to eq("Ok")
161
- expect(client.character_events(1009610)[:data][:results].size).to eq(20)
162
- end
163
-
164
- it 'accepts an Integer as character id' do
165
- expect(client.character_events(1009610)[:data][:results][0][:title]).to eq('Acts of Vengeance!')
166
- end
167
-
168
- it 'accetps a String as character id' do
169
- expect(client.character_comics('Spider-Man')["status"]).to eq("Ok")
170
- expect(client.character_comics('Spider-Man')[:data][:results].size).to eq(20)
171
- end
172
- end
173
-
174
- describe '#character_series' do
175
- before do
176
- stub_get('characters/1009610/series?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'character_series.json')
177
- end
178
-
179
- it 'returns a Marvelite::API::Response object' do
180
- expect(client.character_series(1009610)).to be_a(Marvelite::API::Response)
181
- end
182
-
183
- it 'Response object is populated with JSON from the characters endpoint' do
184
- expect(client.character_series(1009610)["status"]).to eq("Ok")
185
- expect(client.character_series(1009610)[:data][:results].size).to eq(20)
186
- end
187
-
188
- it 'accepts an Integer as character id' do
189
- expect(client.character_series(1009610)[:data][:results][0][:title]).to eq('A+X (2012 - Present)')
190
- end
191
-
192
- it 'accetps a String as character id' do
193
- expect(client.character_comics('Spider-Man')["status"]).to eq("Ok")
194
- expect(client.character_comics('Spider-Man')[:data][:results].size).to eq(20)
195
- end
196
- end
197
-
198
- describe '#character_stories' do
199
- before do
200
- stub_get('characters/1009610/stories?apikey=123456&ts=1&hash=d4f1bab013916a533ef31e3ad5fb0887', 'character_stories.json')
201
- end
202
-
203
- it 'returns a Marvelite::API::Response object' do
204
- expect(client.character_stories(1009610)).to be_a(Marvelite::API::Response)
205
- end
206
-
207
- it 'Response object is populated with JSON from the characters endpoint' do
208
- expect(client.character_stories(1009610)["status"]).to eq("Ok")
209
- expect(client.character_stories(1009610)[:data][:results].size).to eq(20)
210
- end
211
-
212
- it 'accepts an Integer as character id' do
213
- expect(client.character_stories(1009610)[:data][:results][0][:title]).to eq('Interior #483')
214
- end
215
-
216
- it 'accetps a String as character id' do
217
- expect(client.character_comics('Spider-Man')["status"]).to eq("Ok")
218
- expect(client.character_comics('Spider-Man')[:data][:results].size).to eq(20)
219
- end
220
- end
221
- end
222
84
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marvelite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Antonio Antillon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-04 00:00:00.000000000 Z
11
+ date: 2014-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -129,17 +129,27 @@ executables: []
129
129
  extensions: []
130
130
  extra_rdoc_files: []
131
131
  files:
132
+ - lib/marvelite/api/character_methods.rb
132
133
  - lib/marvelite/api/client.rb
134
+ - lib/marvelite/api/comic_methods.rb
133
135
  - lib/marvelite/api/response.rb
134
136
  - lib/marvelite/api/router.rb
135
137
  - lib/marvelite/version.rb
136
138
  - lib/marvelite.rb
137
- - spec/fixtures/character.json
138
- - spec/fixtures/character_comics.json
139
- - spec/fixtures/character_events.json
140
- - spec/fixtures/character_series.json
141
- - spec/fixtures/character_stories.json
142
- - spec/fixtures/characters.json
139
+ - spec/fixtures/characters/character.json
140
+ - spec/fixtures/characters/character_comics.json
141
+ - spec/fixtures/characters/character_events.json
142
+ - spec/fixtures/characters/character_series.json
143
+ - spec/fixtures/characters/character_stories.json
144
+ - spec/fixtures/characters/characters.json
145
+ - spec/fixtures/comics/comic.json
146
+ - spec/fixtures/comics/comic_characters.json
147
+ - spec/fixtures/comics/comic_creators.json
148
+ - spec/fixtures/comics/comic_events.json
149
+ - spec/fixtures/comics/comic_stories.json
150
+ - spec/fixtures/comics/comics.json
151
+ - spec/marvelite/api/client_characters_endpoints_spec.rb
152
+ - spec/marvelite/api/client_comics_endpoints_spec.rb
143
153
  - spec/marvelite/api/client_spec.rb
144
154
  - spec/marvelite/api/router_spec.rb
145
155
  - spec/spec_helper.rb
@@ -173,12 +183,20 @@ signing_key:
173
183
  specification_version: 4
174
184
  summary: Simple wrapper around the Marvel Comics API
175
185
  test_files:
176
- - spec/fixtures/character.json
177
- - spec/fixtures/character_comics.json
178
- - spec/fixtures/character_events.json
179
- - spec/fixtures/character_series.json
180
- - spec/fixtures/character_stories.json
181
- - spec/fixtures/characters.json
186
+ - spec/fixtures/characters/character.json
187
+ - spec/fixtures/characters/character_comics.json
188
+ - spec/fixtures/characters/character_events.json
189
+ - spec/fixtures/characters/character_series.json
190
+ - spec/fixtures/characters/character_stories.json
191
+ - spec/fixtures/characters/characters.json
192
+ - spec/fixtures/comics/comic.json
193
+ - spec/fixtures/comics/comic_characters.json
194
+ - spec/fixtures/comics/comic_creators.json
195
+ - spec/fixtures/comics/comic_events.json
196
+ - spec/fixtures/comics/comic_stories.json
197
+ - spec/fixtures/comics/comics.json
198
+ - spec/marvelite/api/client_characters_endpoints_spec.rb
199
+ - spec/marvelite/api/client_comics_endpoints_spec.rb
182
200
  - spec/marvelite/api/client_spec.rb
183
201
  - spec/marvelite/api/router_spec.rb
184
202
  - spec/spec_helper.rb