marver 0.0.6 → 0.1.0
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 +4 -4
- data/README.md +8 -14
- data/lib/marver.rb +16 -2
- data/lib/marver/api.rb +9 -1
- data/lib/marver/api/client.rb +9 -6
- data/lib/marver/api/credentials.rb +1 -1
- data/lib/marver/api/errors.rb +33 -0
- data/lib/marver/client.rb +3 -1
- data/lib/marver/entities/character.rb +11 -23
- data/lib/marver/entities/comic.rb +19 -35
- data/lib/marver/entities/creator.rb +5 -26
- data/lib/marver/entities/event.rb +17 -26
- data/lib/marver/entities/serie.rb +15 -29
- data/lib/marver/entities/story.rb +11 -23
- data/lib/marver/entities/summary/character.rb +2 -2
- data/lib/marver/entities/summary/comic.rb +4 -4
- data/lib/marver/entities/summary/creator.rb +4 -2
- data/lib/marver/entities/summary/event.rb +2 -2
- data/lib/marver/entities/summary/serie.rb +3 -3
- data/lib/marver/entities/summary/story.rb +2 -2
- data/lib/marver/entities/url.rb +3 -3
- data/lib/marver/factories/character.rb +28 -0
- data/lib/marver/factories/comic.rb +27 -0
- data/lib/marver/factories/creator.rb +28 -0
- data/lib/marver/factories/date.rb +15 -0
- data/lib/marver/factories/event.rb +28 -0
- data/lib/marver/factories/factory.rb +20 -0
- data/lib/marver/factories/image.rb +15 -0
- data/lib/marver/factories/price.rb +15 -0
- data/lib/marver/factories/serie.rb +28 -0
- data/lib/marver/factories/story.rb +28 -0
- data/lib/marver/factories/summary/character.rb +23 -0
- data/lib/marver/factories/summary/comic.rb +23 -0
- data/lib/marver/factories/summary/creator.rb +23 -0
- data/lib/marver/factories/summary/event.rb +23 -0
- data/lib/marver/factories/summary/serie.rb +23 -0
- data/lib/marver/factories/summary/story.rb +23 -0
- data/lib/marver/factories/summary/summary.rb +12 -0
- data/lib/marver/factories/text_object.rb +16 -0
- data/lib/marver/factories/url.rb +15 -0
- data/lib/marver/finders/character_finder.rb +16 -2
- data/lib/marver/finders/comic_finder.rb +17 -1
- data/lib/marver/finders/creator_finder.rb +26 -0
- data/lib/marver/finders/event_finder.rb +16 -2
- data/lib/marver/finders/serie_finder.rb +16 -2
- data/lib/marver/finders/story_finder.rb +15 -2
- data/lib/marver/mappers/character_attributes_mapper.rb +25 -0
- data/lib/marver/mappers/comic_attributes_mapper.rb +40 -0
- data/lib/marver/mappers/creator_attributes_mapper.rb +29 -0
- data/lib/marver/mappers/event_attributes_mapper.rb +29 -0
- data/lib/marver/mappers/mappable.rb +86 -0
- data/lib/marver/mappers/serie_attributes_mapper.rb +32 -0
- data/lib/marver/mappers/story_attributes_mapper.rb +26 -0
- data/lib/marver/utils/finder_param_filter.rb +13 -0
- data/lib/marver/utils/string_helper.rb +7 -0
- data/lib/marver/version.rb +1 -1
- data/spec/marver/.DS_Store +0 -0
- data/spec/marver/api/client_spec.rb +1 -1
- data/spec/marver/api/credentials_spec.rb +2 -2
- data/spec/marver/api/error_spec.rb +9 -9
- data/spec/marver/client_spec.rb +8 -0
- data/spec/marver/entities/character_spec.rb +1 -1
- data/spec/marver/entities/comic_spec.rb +1 -1
- data/spec/marver/entities/creator_spec.rb +2 -2
- data/spec/marver/entities/event_spec.rb +1 -1
- data/spec/marver/entities/serie_spec.rb +2 -2
- data/spec/marver/entities/story_spec.rb +2 -2
- data/spec/marver/entities/summary/comic_spec.rb +9 -1
- data/spec/marver/factories/character_spec.rb +12 -0
- data/spec/marver/factories/comic_spec.rb +12 -0
- data/spec/marver/factories/creator_spec.rb +12 -0
- data/spec/marver/factories/date_spec.rb +13 -0
- data/spec/marver/factories/event_spec.rb +12 -0
- data/spec/marver/factories/image_spec.rb +13 -0
- data/spec/marver/factories/price_spec.rb +13 -0
- data/spec/marver/factories/serie_spec.rb +12 -0
- data/spec/marver/factories/story_spec.rb +12 -0
- data/spec/marver/factories/summary/character_spec.rb +13 -0
- data/spec/marver/factories/summary/comic_spec.rb +13 -0
- data/spec/marver/factories/summary/creator_spec.rb +13 -0
- data/spec/marver/factories/summary/event_spec.rb +13 -0
- data/spec/marver/factories/summary/serie_spec.rb +13 -0
- data/spec/marver/factories/summary/story_spec.rb +13 -0
- data/spec/marver/factories/text_object_spec.rb +13 -0
- data/spec/marver/factories/url_spec.rb +13 -0
- data/spec/marver/finders/character_finder_spec.rb +17 -9
- data/spec/marver/finders/comic_finder_spec.rb +11 -2
- data/spec/marver/finders/creator_finder_spec.rb +27 -0
- data/spec/marver/finders/event_finder_spec.rb +11 -2
- data/spec/marver/finders/serie_finder_spec.rb +10 -2
- data/spec/marver/finders/story_finder_spec.rb +11 -3
- data/spec/marver/mappers/character_attributes_mapper_spec.rb +14 -0
- data/spec/marver/mappers/comic_attributes_mapper_spec.rb +17 -0
- data/spec/marver/mappers/creator_attributes_mapper_spec.rb +15 -0
- data/spec/marver/mappers/event_attributes_mapper_spec.rb +14 -0
- data/spec/marver/mappers/serie_attributes_mapper_spec.rb +17 -0
- data/spec/marver/mappers/story_attributes_mapper_spec.rb +15 -0
- data/spec/marver/utils/finder_param_filter_spec.rb +17 -0
- data/spec/marver/utils/string_helper_spec.rb +7 -0
- metadata +86 -7
- data/TODO +0 -3
- data/lib/marver/api/error.rb +0 -13
- data/lib/marver/entities/commonable.rb +0 -37
- data/lib/marver/entities/queryable.rb +0 -12
- data/lib/marver/entities/summarizable.rb +0 -54
@@ -0,0 +1,32 @@
|
|
1
|
+
module Marver
|
2
|
+
class SerieAttributesMapper
|
3
|
+
|
4
|
+
include Marver::Mappable
|
5
|
+
|
6
|
+
def initialize(results)
|
7
|
+
@results = results
|
8
|
+
end
|
9
|
+
|
10
|
+
def map
|
11
|
+
{
|
12
|
+
title: @results['title'],
|
13
|
+
resource_uri: @results['resourceURI'],
|
14
|
+
description: @results['description'],
|
15
|
+
id: @results['id'].to_i,
|
16
|
+
type: @results['type'],
|
17
|
+
start_year: @results['startYear'],
|
18
|
+
end_year: @results['endYear'],
|
19
|
+
rating: @results['rating'],
|
20
|
+
comics: comics,
|
21
|
+
stories: stories,
|
22
|
+
events: events,
|
23
|
+
creators: creators,
|
24
|
+
characters: characters,
|
25
|
+
next: next_serie.first,
|
26
|
+
previous: prev_serie.first,
|
27
|
+
urls: urls,
|
28
|
+
thumbnail: thumbnail
|
29
|
+
}
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Marver
|
2
|
+
class StoryAttributesMapper
|
3
|
+
|
4
|
+
include Marver::Mappable
|
5
|
+
|
6
|
+
def initialize(results)
|
7
|
+
@results = results
|
8
|
+
end
|
9
|
+
|
10
|
+
def map
|
11
|
+
{
|
12
|
+
title: @results['title'],
|
13
|
+
resource_uri: @results['resourceURI'],
|
14
|
+
description: @results['description'],
|
15
|
+
id: @results['id'].to_i,
|
16
|
+
type: @results['type'],
|
17
|
+
characters: characters,
|
18
|
+
creators: creators,
|
19
|
+
events: events,
|
20
|
+
series: series,
|
21
|
+
comics: comics,
|
22
|
+
original_issue: original_issue
|
23
|
+
}
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Marver
|
2
|
+
class FinderParamFilter
|
3
|
+
class << self
|
4
|
+
def filter!(params, allowed_params)
|
5
|
+
unallowed = params.keys - allowed_params
|
6
|
+
raise UnallowedParamsError.new("Unallowed params: #{unallowed}") unless unallowed.empty?
|
7
|
+
return true
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class UnallowedParamsError < Exception; end
|
13
|
+
end
|
data/lib/marver/version.rb
CHANGED
Binary file
|
@@ -11,7 +11,7 @@ describe Marver::API::Credentials do
|
|
11
11
|
|
12
12
|
end
|
13
13
|
|
14
|
-
it "returns api credentials as
|
15
|
-
expect(Marver::API::Credentials.get).to eq "
|
14
|
+
it "returns api credentials as hash" do
|
15
|
+
expect(Marver::API::Credentials.get).to eq({ ts: "1", apikey: "pub_key", hash: "3d4ce88a477c7e4a5accbf6cd2c8b819" })
|
16
16
|
end
|
17
17
|
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Marver::API::Error do
|
4
|
-
let(:error) { Marver::API::Error.new({ "code" => "404", "status" => "Not found."}) }
|
3
|
+
# describe Marver::API::Error do
|
4
|
+
# let(:error) { Marver::API::Error.new({ "code" => "404", "status" => "Not found."}) }
|
5
5
|
|
6
|
-
it '#code - the http status code of the error' do
|
7
|
-
|
8
|
-
end
|
6
|
+
# it '#code - the http status code of the error' do
|
7
|
+
# expect(error.code).to eq 404
|
8
|
+
# end
|
9
9
|
|
10
|
-
it '#status - description of the error' do
|
11
|
-
|
12
|
-
end
|
10
|
+
# it '#status - description of the error' do
|
11
|
+
# expect(error.status).to eq "Not found."
|
12
|
+
# end
|
13
13
|
|
14
|
-
end
|
14
|
+
# end
|
data/spec/marver/client_spec.rb
CHANGED
@@ -25,4 +25,12 @@ describe Marver::Client do
|
|
25
25
|
it 'has a story finder' do
|
26
26
|
expect(@client.stories.class).to eq Marver::StoryFinder
|
27
27
|
end
|
28
|
+
|
29
|
+
it 'has a creator finder' do
|
30
|
+
expect(@client.creators.class).to eq Marver::CreatorFinder
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'has a event finder' do
|
34
|
+
expect(@client.events.class).to eq Marver::EventFinder
|
35
|
+
end
|
28
36
|
end
|
@@ -6,7 +6,7 @@ describe Marver::Character do
|
|
6
6
|
let(:json) { fixture('character.json').read }
|
7
7
|
let(:response) { Marver::API::Response.new(json) }
|
8
8
|
let(:data_container) { Marver::DataContainer.new(response) }
|
9
|
-
let(:character) { Marver::Character.new(data_container.results) }
|
9
|
+
let(:character) { Marver::Factory::Character.new(data_container.results).build }
|
10
10
|
|
11
11
|
it '#id - The unique ID of the character resource' do
|
12
12
|
expect(character.id).to eq 1009220
|
@@ -5,7 +5,7 @@ describe Marver::Comic do
|
|
5
5
|
let(:json) { fixture('comic.json').read }
|
6
6
|
let(:response) { Marver::API::Response.new(json) }
|
7
7
|
let(:data_container) { Marver::DataContainer.new(response) }
|
8
|
-
let(:comic) { Marver::Comic.new(data_container.results) }
|
8
|
+
let(:comic) { Marver::Factory::Comic.new(data_container.results).build }
|
9
9
|
|
10
10
|
it '#id - The unique ID of the comic resource' do
|
11
11
|
expect(comic.id).to eq 38524
|
@@ -5,8 +5,8 @@ describe Marver::Creator do
|
|
5
5
|
|
6
6
|
let(:json) { fixture('creator.json').read }
|
7
7
|
let(:response) { Marver::API::Response.new(json) }
|
8
|
-
let(:
|
9
|
-
let(:creator) { Marver::Creator.new(
|
8
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
9
|
+
let(:creator) { Marver::Factory::Creator.new(results).build }
|
10
10
|
|
11
11
|
it '#id - The unique ID of the creator resource.' do
|
12
12
|
expect(creator.id).to eq 648
|
@@ -5,7 +5,7 @@ describe Marver::Event do
|
|
5
5
|
let(:json) { fixture('event.json').read }
|
6
6
|
let(:response) { Marver::API::Response.new(json) }
|
7
7
|
let(:data_container) { Marver::DataContainer.new(response) }
|
8
|
-
let(:event) { Marver::Event.new(data_container.results) }
|
8
|
+
let(:event) { Marver::Factory::Event.new(data_container.results).build }
|
9
9
|
|
10
10
|
it "#title - The title of the event." do
|
11
11
|
expect(event.title).to eq "Fall of the Mutants"
|
@@ -5,8 +5,8 @@ describe Marver::Serie do
|
|
5
5
|
|
6
6
|
let(:json) { fixture('serie.json').read }
|
7
7
|
let(:response) { Marver::API::Response.new(json) }
|
8
|
-
let(:
|
9
|
-
let(:serie) { Marver::Serie.new(
|
8
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
9
|
+
let(:serie) { Marver::Factory::Serie.new(results).build }
|
10
10
|
|
11
11
|
it '#id - The unique ID of the series resource.' do
|
12
12
|
expect(serie.id).to eq 2002
|
@@ -4,8 +4,8 @@ describe Marver::Story do
|
|
4
4
|
describe "Attributes" do
|
5
5
|
let(:json) { fixture('story.json').read }
|
6
6
|
let(:response) { Marver::API::Response.new(json) }
|
7
|
-
let(:
|
8
|
-
let(:story) { Marver::Story.new(
|
7
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
8
|
+
let(:story) { Marver::Factory::Story.new(results).build }
|
9
9
|
|
10
10
|
it "#title - The story title." do
|
11
11
|
expect(story.title).to eq "Cover #892"
|
@@ -1,6 +1,14 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Marver::Summary::Comic do
|
4
|
+
|
5
|
+
before do
|
6
|
+
Marver.configure do |config|
|
7
|
+
config.public_key = "pub_key"
|
8
|
+
config.private_key = "priv_key"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
4
12
|
let(:comic_summary) { Marver::Summary::Comic.new({ "id" => "123", "resourceURI" => "http://example.net", "name" => "Hulk" }) }
|
5
13
|
|
6
14
|
it '#id' do
|
@@ -23,7 +31,7 @@ describe Marver::Summary::Comic do
|
|
23
31
|
describe '#full' do
|
24
32
|
before :each do
|
25
33
|
Time.stub_chain(:now, :to_i, :to_s).and_return "1"
|
26
|
-
stub_get(comic_summary.resource_uri).to_return(:body => fixture('comic.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
34
|
+
stub_get(comic_summary.resource_uri + "?apikey=pub_key&hash=3d4ce88a477c7e4a5accbf6cd2c8b819&ts=1").to_return(:body => fixture('comic.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
27
35
|
@full_comic = comic_summary.full
|
28
36
|
end
|
29
37
|
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Character do
|
4
|
+
let(:json) { fixture('character.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results) }
|
8
|
+
|
9
|
+
it 'builds a character out of api results' do
|
10
|
+
expect(factory.build).to be_kind_of Marver::Character
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Comic do
|
4
|
+
let(:json) { fixture('comic.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results) }
|
8
|
+
|
9
|
+
it 'builds a comic out of api results' do
|
10
|
+
expect(factory.build).to be_kind_of Marver::Comic
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Creator do
|
4
|
+
let(:json) { fixture('creator.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results) }
|
8
|
+
|
9
|
+
it 'builds a creator out of api results' do
|
10
|
+
expect(factory.build).to be_kind_of Marver::Creator
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Date do
|
4
|
+
let(:json) { fixture('comic.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results['dates']) }
|
8
|
+
|
9
|
+
it 'builds a list of dates from api results' do
|
10
|
+
expect(factory.build).to be_kind_of Array
|
11
|
+
expect(factory.build.first).to be_kind_of Marver::KeyDate
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Event do
|
4
|
+
let(:json) { fixture('event.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results) }
|
8
|
+
|
9
|
+
it 'builds an event out of api results' do
|
10
|
+
expect(factory.build).to be_kind_of Marver::Event
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Image do
|
4
|
+
let(:json) { fixture('comic.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results['images']) }
|
8
|
+
|
9
|
+
it 'builds a list of images from api results' do
|
10
|
+
expect(factory.build).to be_kind_of Array
|
11
|
+
expect(factory.build.first).to be_kind_of Marver::Image
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Price do
|
4
|
+
let(:json) { fixture('comic.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results['prices']) }
|
8
|
+
|
9
|
+
it 'builds a list of prices from api results' do
|
10
|
+
expect(factory.build).to be_kind_of Array
|
11
|
+
expect(factory.build.first).to be_kind_of Marver::Price
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Serie do
|
4
|
+
let(:json) { fixture('serie.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results) }
|
8
|
+
|
9
|
+
it 'builds a serie out of api results' do
|
10
|
+
expect(factory.build).to be_kind_of Marver::Serie
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Story do
|
4
|
+
let(:json) { fixture('story.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results) }
|
8
|
+
|
9
|
+
it 'builds a story out of api results' do
|
10
|
+
expect(factory.build).to be_kind_of Marver::Story
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Summary::Character do
|
4
|
+
let(:json) { fixture('event.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results['series']['items']) }
|
8
|
+
|
9
|
+
it 'builds a character summary out of api results' do
|
10
|
+
expect(factory.build).to be_kind_of Array
|
11
|
+
expect(factory.build.first).to be_kind_of Marver::Summary::Character
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Summary::Comic do
|
4
|
+
let(:json) { fixture('character.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results['comics']['items']) }
|
8
|
+
|
9
|
+
it 'builds a comic summary out of api results' do
|
10
|
+
expect(factory.build).to be_kind_of Array
|
11
|
+
expect(factory.build.first).to be_kind_of Marver::Summary::Comic
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Summary::Creator do
|
4
|
+
let(:json) { fixture('comic.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results['creators']['items']) }
|
8
|
+
|
9
|
+
it 'builds a creator summary out of api results' do
|
10
|
+
expect(factory.build).to be_kind_of Array
|
11
|
+
expect(factory.build.first).to be_kind_of Marver::Summary::Creator
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Summary::Event do
|
4
|
+
let(:json) { fixture('character.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results['events']['items']) }
|
8
|
+
|
9
|
+
it 'builds an event summary out of api results' do
|
10
|
+
expect(factory.build).to be_kind_of Array
|
11
|
+
expect(factory.build.first).to be_kind_of Marver::Summary::Event
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Summary::Serie do
|
4
|
+
let(:json) { fixture('character.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results['series']['items']) }
|
8
|
+
|
9
|
+
it 'builds a serie summary out of api results' do
|
10
|
+
expect(factory.build).to be_kind_of Array
|
11
|
+
expect(factory.build.first).to be_kind_of Marver::Summary::Serie
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Marver::Factory::Summary::Story do
|
4
|
+
let(:json) { fixture('event.json').read }
|
5
|
+
let(:response) { Marver::API::Response.new(json) }
|
6
|
+
let(:results) { Marver::DataContainer.new(response).results }
|
7
|
+
let(:factory) { described_class.new(results['stories']['items']) }
|
8
|
+
|
9
|
+
it 'builds a story summary out of api results' do
|
10
|
+
expect(factory.build).to be_kind_of Array
|
11
|
+
expect(factory.build.first).to be_kind_of Marver::Summary::Story
|
12
|
+
end
|
13
|
+
end
|