marvelite 0.0.3 → 0.0.4

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.
@@ -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