flickrmocks 0.8.6 → 0.8.8
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +0 -1
- data/VERSION +1 -1
- data/flickrmocks.gemspec +9 -5
- data/lib/flickr_mocks/api/api.rb +5 -0
- data/lib/flickr_mocks/api/flickr.rb +4 -0
- data/lib/flickr_mocks/api/options.rb +7 -0
- data/lib/flickr_mocks/fixtures.rb +4 -1
- data/lib/flickr_mocks/models/commons_institution.rb +56 -0
- data/lib/flickr_mocks/models/commons_institutions.rb +93 -0
- data/lib/flickr_mocks/models/helpers.rb +11 -1
- data/lib/flickr_mocks/models/photos.rb +1 -4
- data/lib/flickr_mocks/stubs.rb +9 -1
- data/lib/flickrmocks.rb +27 -24
- data/spec/api/api_spec.rb +10 -0
- data/spec/api/flickr_spec.rb +6 -0
- data/spec/api/options_spec.rb +27 -6
- data/spec/base/fixtures_spec.rb +6 -0
- data/spec/base/stubs_spec.rb +14 -0
- data/spec/fixtures/author_photos.marshal +0 -0
- data/spec/fixtures/commons_institutions.marshal +0 -0
- data/spec/fixtures/expected_methods.marshal +4 -4
- data/spec/fixtures/interesting_photos.marshal +0 -0
- data/spec/fixtures/photo.marshal +0 -0
- data/spec/fixtures/photo_details.marshal +0 -0
- data/spec/fixtures/photo_size.marshal +0 -0
- data/spec/fixtures/photo_sizes.marshal +0 -0
- data/spec/fixtures/photos.marshal +0 -0
- data/spec/models/commons_institution_spec.rb +102 -0
- data/spec/models/commons_institutions_spec.rb +167 -0
- data/spec/models/helpers_spec.rb +16 -4
- data/spec/models/photos_spec.rb +1 -2
- data/spec/shared_examples/array_accessor.rb +12 -0
- data/tasks/fixtures.rb +15 -3
- metadata +22 -29
data/Rakefile
CHANGED
@@ -22,7 +22,6 @@ begin
|
|
22
22
|
gem.homepage = "http://github.com/takaltoo/flickrmocks"
|
23
23
|
gem.authors = ["Takaltoo"]
|
24
24
|
|
25
|
-
gem.add_development_dependency "thoughtbot-shoulda", ">= 2.10"
|
26
25
|
gem.add_development_dependency "rspec", ">=2.0.0.beta.22"
|
27
26
|
gem.add_development_dependency "capybara"
|
28
27
|
#gem.add_development_dependency 'ruby-debug19', :require => 'ruby-debug'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.8.
|
1
|
+
0.8.8
|
data/flickrmocks.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{flickrmocks}
|
8
|
-
s.version = "0.8.
|
8
|
+
s.version = "0.8.8"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Takaltoo"]
|
12
|
-
s.date = %q{2010-11-
|
12
|
+
s.date = %q{2010-11-18}
|
13
13
|
s.description = %q{FlickrMocks makes it possible to Marshal responses
|
14
14
|
generated from the FLickRaw gem. This is useful for
|
15
15
|
Mocking/Stubbing the Flickr interface for testing purposes.
|
@@ -41,6 +41,8 @@ Gem::Specification.new do |s|
|
|
41
41
|
"lib/flickr_mocks/flickraw/custom_marshal.rb",
|
42
42
|
"lib/flickr_mocks/flickraw/flickraw.rb",
|
43
43
|
"lib/flickr_mocks/helpers.rb",
|
44
|
+
"lib/flickr_mocks/models/commons_institution.rb",
|
45
|
+
"lib/flickr_mocks/models/commons_institutions.rb",
|
44
46
|
"lib/flickr_mocks/models/helpers.rb",
|
45
47
|
"lib/flickr_mocks/models/photo.rb",
|
46
48
|
"lib/flickr_mocks/models/photo_details.rb",
|
@@ -65,6 +67,7 @@ Gem::Specification.new do |s|
|
|
65
67
|
"spec/base/stubs_spec.rb",
|
66
68
|
"spec/base/version_spec.rb",
|
67
69
|
"spec/fixtures/author_photos.marshal",
|
70
|
+
"spec/fixtures/commons_institutions.marshal",
|
68
71
|
"spec/fixtures/empty_photos.marshal",
|
69
72
|
"spec/fixtures/expected_methods.marshal",
|
70
73
|
"spec/fixtures/interesting_photos.marshal",
|
@@ -73,6 +76,8 @@ Gem::Specification.new do |s|
|
|
73
76
|
"spec/fixtures/photo_size.marshal",
|
74
77
|
"spec/fixtures/photo_sizes.marshal",
|
75
78
|
"spec/fixtures/photos.marshal",
|
79
|
+
"spec/models/commons_institution_spec.rb",
|
80
|
+
"spec/models/commons_institutions_spec.rb",
|
76
81
|
"spec/models/helpers_spec.rb",
|
77
82
|
"spec/models/photo_details_spec.rb",
|
78
83
|
"spec/models/photo_dimensions_spec.rb",
|
@@ -101,7 +106,9 @@ Gem::Specification.new do |s|
|
|
101
106
|
"spec/models/helpers_spec.rb",
|
102
107
|
"spec/models/photo_details_spec.rb",
|
103
108
|
"spec/models/photo_size_spec.rb",
|
109
|
+
"spec/models/commons_institution_spec.rb",
|
104
110
|
"spec/models/photo_sizes_spec.rb",
|
111
|
+
"spec/models/commons_institutions_spec.rb",
|
105
112
|
"spec/models/photos_spec.rb",
|
106
113
|
"spec/models/photo_dimensions_spec.rb",
|
107
114
|
"spec/models/photo_spec.rb",
|
@@ -126,7 +133,6 @@ Gem::Specification.new do |s|
|
|
126
133
|
s.specification_version = 3
|
127
134
|
|
128
135
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
129
|
-
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 2.10"])
|
130
136
|
s.add_development_dependency(%q<rspec>, [">= 2.0.0.beta.22"])
|
131
137
|
s.add_development_dependency(%q<capybara>, [">= 0"])
|
132
138
|
s.add_development_dependency(%q<factory_girl_rails>, [">= 1.0"])
|
@@ -134,7 +140,6 @@ Gem::Specification.new do |s|
|
|
134
140
|
s.add_runtime_dependency(%q<flickraw>, [">= 0.8.2"])
|
135
141
|
s.add_runtime_dependency(%q<chronic>, [">= 0"])
|
136
142
|
else
|
137
|
-
s.add_dependency(%q<thoughtbot-shoulda>, [">= 2.10"])
|
138
143
|
s.add_dependency(%q<rspec>, [">= 2.0.0.beta.22"])
|
139
144
|
s.add_dependency(%q<capybara>, [">= 0"])
|
140
145
|
s.add_dependency(%q<factory_girl_rails>, [">= 1.0"])
|
@@ -143,7 +148,6 @@ Gem::Specification.new do |s|
|
|
143
148
|
s.add_dependency(%q<chronic>, [">= 0"])
|
144
149
|
end
|
145
150
|
else
|
146
|
-
s.add_dependency(%q<thoughtbot-shoulda>, [">= 2.10"])
|
147
151
|
s.add_dependency(%q<rspec>, [">= 2.0.0.beta.22"])
|
148
152
|
s.add_dependency(%q<capybara>, [">= 0"])
|
149
153
|
s.add_dependency(%q<factory_girl_rails>, [">= 1.0"])
|
data/lib/flickr_mocks/api/api.rb
CHANGED
@@ -38,5 +38,10 @@ module FlickrMocks
|
|
38
38
|
PhotoSearch.new photos,Api.interesting_params(params)
|
39
39
|
end
|
40
40
|
|
41
|
+
def self.commons_institutions(params)
|
42
|
+
institutions = Api.flickr_commons_institutions
|
43
|
+
CommonsInstitutions.new institutions,Api.commons_institutions_params(params)
|
44
|
+
end
|
45
|
+
|
41
46
|
end
|
42
47
|
end
|
@@ -49,6 +49,13 @@ module FlickrMocks
|
|
49
49
|
:base_url => params[:base_url]
|
50
50
|
}
|
51
51
|
end
|
52
|
+
|
53
|
+
def self.commons_institutions_params(params)
|
54
|
+
return {
|
55
|
+
:per_page => params[:per_page] || params[:perpage],
|
56
|
+
:current_page => params[:current_page] || 1
|
57
|
+
}
|
58
|
+
end
|
52
59
|
end
|
53
60
|
|
54
61
|
|
@@ -3,7 +3,7 @@ require 'ostruct'
|
|
3
3
|
module FlickrMocks
|
4
4
|
class Fixtures
|
5
5
|
attr_accessor :photos,:interesting_photos,:author_photos,:photo,:photo_details,
|
6
|
-
:photo_sizes,:photo_size,:expected_methods,:empty_photos
|
6
|
+
:photo_sizes,:photo_size,:expected_methods,:empty_photos,:commons_institutions
|
7
7
|
|
8
8
|
def initialize
|
9
9
|
@photos = load_fixture(:photos)
|
@@ -15,10 +15,13 @@ module FlickrMocks
|
|
15
15
|
|
16
16
|
@photo_sizes = load_fixture(:photo_sizes)
|
17
17
|
@photo_size = load_fixture(:photo_size)
|
18
|
+
|
19
|
+
@commons_institutions = load_fixture(:commons_institutions)
|
18
20
|
|
19
21
|
@empty_photos = load_fixture(:empty_photos)
|
20
22
|
|
21
23
|
@expected_methods = load_fixture(:expected_methods)
|
24
|
+
|
22
25
|
end
|
23
26
|
|
24
27
|
def self.repository
|
@@ -0,0 +1,56 @@
|
|
1
|
+
|
2
|
+
module FlickrMocks
|
3
|
+
class CommonsInstitution
|
4
|
+
def initialize(object)
|
5
|
+
self.delegated_to_object = object
|
6
|
+
end
|
7
|
+
|
8
|
+
def launch_date
|
9
|
+
@delegated_to_object.date_launch
|
10
|
+
end
|
11
|
+
|
12
|
+
def owner_id
|
13
|
+
@delegated_to_object.nsid
|
14
|
+
end
|
15
|
+
alias :owner :owner_id
|
16
|
+
|
17
|
+
def owner_name
|
18
|
+
@delegated_to_object.name
|
19
|
+
end
|
20
|
+
|
21
|
+
def flickr_url
|
22
|
+
get_url(:flickr)
|
23
|
+
end
|
24
|
+
|
25
|
+
def site_url
|
26
|
+
get_url(:site)
|
27
|
+
end
|
28
|
+
|
29
|
+
def license_url
|
30
|
+
get_url(:license)
|
31
|
+
end
|
32
|
+
|
33
|
+
def ==(other)
|
34
|
+
@delegated_to_object == other.instance_eval('@delegated_to_object')
|
35
|
+
end
|
36
|
+
|
37
|
+
def initialize_copy(orig)
|
38
|
+
super
|
39
|
+
@delegated_to_object = @delegated_to_object.clone
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
def delegated_to_object=(object)
|
44
|
+
raise ArgumentError, "Expected object of class FlickRaw::Response but received #{object.class}" unless object.class == FlickRaw::Response
|
45
|
+
@delegated_to_object = object
|
46
|
+
end
|
47
|
+
|
48
|
+
def get_url(type)
|
49
|
+
@delegated_to_object.urls[get_url_index(type)]['_content']
|
50
|
+
end
|
51
|
+
|
52
|
+
def get_url_index(type)
|
53
|
+
@delegated_to_object.urls.map do |url| url['type'].to_sym end.find_index(type.to_sym)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
|
2
|
+
module FlickrMocks
|
3
|
+
class CommonsInstitutions
|
4
|
+
attr_accessor :per_page,:current_page
|
5
|
+
|
6
|
+
@defaults = FlickrMocks::Models::Helpers.paging_defaults.clone
|
7
|
+
|
8
|
+
class << self
|
9
|
+
attr_accessor :defaults
|
10
|
+
end
|
11
|
+
|
12
|
+
def initialize(institutions,options={})
|
13
|
+
self.delegated_to_object = institutions
|
14
|
+
self.per_page = options[:per_page]
|
15
|
+
self.current_page = options[:current_page]
|
16
|
+
end
|
17
|
+
|
18
|
+
def default(value)
|
19
|
+
CommonsInstitutions.defaults[value.to_s.to_sym]
|
20
|
+
end
|
21
|
+
|
22
|
+
def ==(other)
|
23
|
+
per_page == other.per_page and
|
24
|
+
current_page == other.current_page and
|
25
|
+
@delegated_to_object == other.instance_eval('@delegated_to_object')
|
26
|
+
end
|
27
|
+
|
28
|
+
def initialize_copy(orig)
|
29
|
+
super
|
30
|
+
@delegated_to_object = @delegated_to_object.clone
|
31
|
+
end
|
32
|
+
|
33
|
+
def delegated_instance_methods
|
34
|
+
FlickrMocks::Models::Helpers.array_accessor_methods
|
35
|
+
end
|
36
|
+
|
37
|
+
def method_missing(id,*args,&block)
|
38
|
+
return @delegated_to_object.send(id,*args,&block) if delegated_instance_methods.include?(id)
|
39
|
+
super
|
40
|
+
end
|
41
|
+
|
42
|
+
alias :old_respond_to? :respond_to?
|
43
|
+
def respond_to?(method,type=false)
|
44
|
+
return true if delegated_instance_methods.include?(method)
|
45
|
+
old_respond_to?(method,type)
|
46
|
+
end
|
47
|
+
|
48
|
+
alias :old_methods :methods
|
49
|
+
def methods
|
50
|
+
delegated_instance_methods + old_methods
|
51
|
+
end
|
52
|
+
|
53
|
+
# custom cloning methods
|
54
|
+
def initialize_copy(orig)
|
55
|
+
super
|
56
|
+
@delegated_to_object = @delegated_to_object.map do |institution|
|
57
|
+
institution.clone
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def total_entries
|
62
|
+
@delegated_to_object.size
|
63
|
+
end
|
64
|
+
|
65
|
+
def institutions
|
66
|
+
@delegated_to_object
|
67
|
+
end
|
68
|
+
|
69
|
+
def collection
|
70
|
+
::WillPaginate::Collection.create(current_page, per_page, total_entries) do |obj|
|
71
|
+
obj.replace(institutions)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
private
|
76
|
+
def delegated_to_object=(object)
|
77
|
+
raise ArgumentError, "FlickRaw::ResponseList expected" unless object.class == FlickRaw::ResponseList
|
78
|
+
@delegated_to_object = object.institution
|
79
|
+
end
|
80
|
+
|
81
|
+
def per_page=(value)
|
82
|
+
@per_page = value.to_i == 0 ? default(:per_page) : value.to_i
|
83
|
+
end
|
84
|
+
|
85
|
+
def current_page=(value)
|
86
|
+
page = value.to_i < 1 ? 1 : value.to_i
|
87
|
+
|
88
|
+
max_page = total_entries / @per_page
|
89
|
+
page = page > max_page ? max_page : page
|
90
|
+
@current_page = page
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
@@ -1,11 +1,21 @@
|
|
1
1
|
module FlickrMocks
|
2
2
|
module Models
|
3
3
|
module Helpers
|
4
|
+
|
4
5
|
def self.array_accessor_methods
|
5
6
|
[:[], :first, :last,:empty?,:length,:size,:each,:each_index,
|
6
|
-
:map, :select, :keep_if,:at,:fetch, :reverse_each,
|
7
|
+
:each_with_index,:map, :select, :keep_if,:at,:fetch, :reverse_each,
|
7
8
|
:find_index, :index,:rindex, :collect,:values_at]
|
8
9
|
end
|
10
|
+
|
11
|
+
def self.paging_defaults
|
12
|
+
{
|
13
|
+
:max_entries => 4000,
|
14
|
+
:per_page => 50,
|
15
|
+
:current_page => 1
|
16
|
+
}
|
17
|
+
end
|
18
|
+
|
9
19
|
def self.possible_sizes
|
10
20
|
[:square, :thumbnail, :small, :medium, :medium_640, :large, :original]
|
11
21
|
end
|
@@ -3,10 +3,7 @@ module FlickrMocks
|
|
3
3
|
attr_reader :current_page,:per_page,:total_entries,:total_pages,:photos
|
4
4
|
alias :perpage :per_page
|
5
5
|
|
6
|
-
@defaults =
|
7
|
-
:max_entries => 4000,
|
8
|
-
:per_page => 50
|
9
|
-
}
|
6
|
+
@defaults = FlickrMocks::Models::Helpers.paging_defaults.clone
|
10
7
|
|
11
8
|
|
12
9
|
class << self
|
data/lib/flickr_mocks/stubs.rb
CHANGED
@@ -2,7 +2,7 @@ module FlickrMocks
|
|
2
2
|
module Stubs
|
3
3
|
|
4
4
|
def self.stub_flickr
|
5
|
-
[:stub_search,:stub_getInfo,:stub_getSizes,:stub_interestingness].each do |method|
|
5
|
+
[:stub_search,:stub_getInfo,:stub_getSizes,:stub_interestingness,:stub_commons_institutions].each do |method|
|
6
6
|
self.send(method)
|
7
7
|
end
|
8
8
|
end
|
@@ -90,6 +90,14 @@ module FlickrMocks
|
|
90
90
|
}.call
|
91
91
|
end
|
92
92
|
|
93
|
+
def self.stub_commons_institutions
|
94
|
+
Proc.new {
|
95
|
+
flickr.commons.stub(:getInstitutions) do
|
96
|
+
Fixtures.new.commons_institutions
|
97
|
+
end
|
98
|
+
}.call
|
99
|
+
end
|
100
|
+
|
93
101
|
end
|
94
102
|
end
|
95
103
|
|
data/lib/flickrmocks.rb
CHANGED
@@ -26,28 +26,31 @@ end
|
|
26
26
|
# end
|
27
27
|
# end
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
29
|
+
[
|
30
|
+
'flickr_mocks/version.rb',
|
31
|
+
'flickr_mocks/stubs.rb',
|
32
|
+
'flickr_mocks/helpers.rb',
|
33
|
+
'flickr_mocks/fixtures.rb',
|
34
|
+
'flickr_mocks/models/helpers.rb',
|
35
|
+
'flickr_mocks/models/photo_sizes.rb',
|
36
|
+
'flickr_mocks/models/photo_dimensions.rb',
|
37
|
+
'flickr_mocks/models/photo_size.rb',
|
38
|
+
'flickr_mocks/models/photos.rb',
|
39
|
+
'flickr_mocks/models/photo.rb',
|
40
|
+
'flickr_mocks/models/photo_search.rb',
|
41
|
+
'flickr_mocks/models/photo_details.rb',
|
42
|
+
'flickr_mocks/models/commons_institutions.rb',
|
43
|
+
'flickr_mocks/models/commons_institution.rb',
|
44
|
+
'flickr_mocks/api/helpers.rb',
|
45
|
+
'flickr_mocks/api/options.rb',
|
46
|
+
'flickr_mocks/api/flickr.rb',
|
47
|
+
'flickr_mocks/api/sanitize.rb',
|
48
|
+
'flickr_mocks/api/api.rb',
|
49
|
+
'flickr_mocks/flickraw/custom_clone.rb',
|
50
|
+
'flickr_mocks/flickraw/custom_compare.rb',
|
51
|
+
'flickr_mocks/flickraw/custom_marshal.rb',
|
52
|
+
'flickr_mocks/flickraw/flickraw.rb'
|
53
|
+
].each do |file|
|
54
|
+
require File.expand_path(File.dirname(__FILE__)) + '/' + file
|
55
|
+
end
|
53
56
|
|
data/spec/api/api_spec.rb
CHANGED
@@ -9,6 +9,7 @@ describe APP::Api do
|
|
9
9
|
let(:sizes) {fixtures.photo_sizes}
|
10
10
|
let(:photo_details) {fixtures.photo_details}
|
11
11
|
let(:interesting_photos) {fixtures.interesting_photos}
|
12
|
+
let(:commons_institutions) {fixtures.commons_institutions}
|
12
13
|
|
13
14
|
|
14
15
|
context "class instance variables" do
|
@@ -80,5 +81,14 @@ describe APP::Api do
|
|
80
81
|
end
|
81
82
|
end
|
82
83
|
|
84
|
+
specify {klass.should respond_to(:commons_institutions)}
|
85
|
+
describe "commons_institutions" do
|
86
|
+
it "returns expected CommonsInstitutions object" do
|
87
|
+
flickr.commons.stub(:getInstitutions).and_return(commons_institutions)
|
88
|
+
klass.commons_institutions({}).should ==
|
89
|
+
APP::CommonsInstitutions.new(commons_institutions)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
83
93
|
end
|
84
94
|
end
|
data/spec/api/flickr_spec.rb
CHANGED
@@ -44,5 +44,11 @@ describe APP::Api do
|
|
44
44
|
klass.flickr_author({}).should == fixtures.author_photos
|
45
45
|
end
|
46
46
|
end
|
47
|
+
|
48
|
+
specify {klass.should respond_to(:flickr_commons_institutions)}
|
49
|
+
it "retuns list of commons institutions" do
|
50
|
+
flickr.commons.stub(:getInstitutions).and_return(fixtures.commons_institutions)
|
51
|
+
klass.flickr_commons_institutions.should == fixtures.commons_institutions
|
52
|
+
end
|
47
53
|
end
|
48
54
|
end
|
data/spec/api/options_spec.rb
CHANGED
@@ -24,7 +24,7 @@ describe APP::Api do
|
|
24
24
|
}
|
25
25
|
|
26
26
|
|
27
|
-
|
27
|
+
context "search_options" do
|
28
28
|
it "should give correct options when all options are specified except :author_id" do
|
29
29
|
subject.search_options(options.clone.merge(:per_page =>'400')).should == expected
|
30
30
|
end
|
@@ -60,7 +60,7 @@ describe APP::Api do
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
|
-
|
63
|
+
context "interesting_options" do
|
64
64
|
let(:expected){
|
65
65
|
{ :date => '2010-02-14',
|
66
66
|
:per_page => '2',
|
@@ -81,7 +81,7 @@ describe APP::Api do
|
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
-
|
84
|
+
context "photo_options" do
|
85
85
|
let(:expected) {
|
86
86
|
{:photo_id => '20030', :secret => 'abcdef'}
|
87
87
|
}
|
@@ -102,7 +102,7 @@ describe APP::Api do
|
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
105
|
-
|
105
|
+
context "search_params" do
|
106
106
|
let(:expected){
|
107
107
|
{
|
108
108
|
:search_terms => 'iran,shiraz',
|
@@ -126,8 +126,7 @@ describe APP::Api do
|
|
126
126
|
end
|
127
127
|
end
|
128
128
|
|
129
|
-
|
130
|
-
|
129
|
+
context "interesting_params" do
|
131
130
|
let(:expected) {
|
132
131
|
{
|
133
132
|
:date => 'iran,shiraz',
|
@@ -146,6 +145,28 @@ describe APP::Api do
|
|
146
145
|
expected.clone.merge(:base_url => expected[:base_url])
|
147
146
|
end
|
148
147
|
end
|
148
|
+
|
149
|
+
context "institution_params" do
|
150
|
+
it "returns :per_page and :current_page if specified" do
|
151
|
+
expected = {:per_page => 2, :current_page => 3}
|
152
|
+
subject.commons_institutions_params(expected).should == expected
|
153
|
+
end
|
154
|
+
it "returns :per_page is prefereed over :perpage is specified" do
|
155
|
+
expected = {:per_page => 2, :current_page => 1}
|
156
|
+
subject.commons_institutions_params(:per_page => 3, :perpage => 20, :current_page => 1).should ==
|
157
|
+
{:per_page => 3, :current_page => 1}
|
158
|
+
end
|
159
|
+
it "returns :perpage if :per_page is not specified" do
|
160
|
+
expected = {:perpage => 3}
|
161
|
+
subject.commons_institutions_params(:perpage => 20, :current_page => 1).should ==
|
162
|
+
{:per_page => 20, :current_page => 1}
|
163
|
+
end
|
164
|
+
it "returns :current_page of 1 if not specified" do
|
165
|
+
subject.commons_institutions_params(:per_page => 20).should ==
|
166
|
+
{:per_page => 20, :current_page => 1}
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
149
170
|
|
150
171
|
end
|
151
172
|
|
data/spec/base/fixtures_spec.rb
CHANGED
@@ -78,6 +78,12 @@ describe APP::Fixtures do
|
|
78
78
|
let(:fixture) {:photo_sizes}
|
79
79
|
it_behaves_like "a flickraw fixture"
|
80
80
|
end
|
81
|
+
|
82
|
+
specify {subject.should respond_to(:commons_institutions)}
|
83
|
+
context "commons_institutions" do
|
84
|
+
let(:fixture){:commons_institutions}
|
85
|
+
it_behaves_like "a flickraw fixture"
|
86
|
+
end
|
81
87
|
end
|
82
88
|
|
83
89
|
end
|
data/spec/base/stubs_spec.rb
CHANGED
@@ -23,6 +23,10 @@ describe APP::Stubs do
|
|
23
23
|
it "stubs flickr.interestingness.getList" do
|
24
24
|
flickr.interestingness.getList.should == fixtures.interesting_photos
|
25
25
|
end
|
26
|
+
|
27
|
+
it "stubs flickr.commons.getInstitutions" do
|
28
|
+
flickr.commons.getInstitutions.should == fixtures.commons_institutions
|
29
|
+
end
|
26
30
|
end
|
27
31
|
|
28
32
|
specify {klass.should respond_to(:stub_search)}
|
@@ -176,5 +180,15 @@ describe APP::Stubs do
|
|
176
180
|
end
|
177
181
|
end
|
178
182
|
|
183
|
+
specify {klass.should respond_to(:stub_commons_institutions)}
|
184
|
+
context "stub_commons_institutions" do
|
185
|
+
before(:each) do
|
186
|
+
klass.stub_commons_institutions
|
187
|
+
end
|
188
|
+
it "returns commons_institutions fixture" do
|
189
|
+
flickr.commons.getInstitutions.should == fixtures.commons_institutions
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
179
193
|
end
|
180
194
|
end
|
Binary file
|
Binary file
|
@@ -1,4 +1,4 @@
|
|
1
|
-
U:OpenStruct{
|
1
|
+
U:OpenStruct{:photos[: page:
|
2
2
|
pages:perpage:
|
3
3
|
total:
|
4
4
|
photo:flickr_type:empty_photos[;;; ;
|
@@ -6,12 +6,12 @@ photo:flickr_type:empty_photos[;;; ;
|
|
6
6
|
;;:author_photos[;;; ;
|
7
7
|
;;;[:id:
|
8
8
|
owner:secret:server: farm:
|
9
|
-
title:
|
9
|
+
title:
|
10
10
|
dates:
|
11
|
-
views:editability:
|
11
|
+
views:editability:publiceditability:
|
12
12
|
usage:
|
13
13
|
notes: tags:
|
14
14
|
media;:photo_sizes[
|
15
15
|
:canblog:
|
16
16
|
label:
|
17
|
-
width:height:source:url
|
17
|
+
width:height:source:url;-;:commons_institutions[:institution;
|
Binary file
|
data/spec/fixtures/photo.marshal
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,102 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe APP::CommonsInstitution do
|
4
|
+
let(:api) {APP::Api}
|
5
|
+
let(:klass) {APP::CommonsInstitution}
|
6
|
+
let(:fixtures){APP::Fixtures.new}
|
7
|
+
let(:fixture){fixtures.commons_institutions[0]}
|
8
|
+
subject {klass.new(fixture)}
|
9
|
+
|
10
|
+
context "initialization" do
|
11
|
+
it "returns object of proper class when supplied FlickRaw::Response" do
|
12
|
+
klass.new(fixture).class.should == klass
|
13
|
+
end
|
14
|
+
it "raises an error when FlickRaw::ResponseList is provided" do
|
15
|
+
expect { klass.new(fixtures.photos)}.to raise_error
|
16
|
+
end
|
17
|
+
it "raises an Error when an Array is specified" do
|
18
|
+
expect { klass.new([1,2,3,4])}.to raise_error
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context "instance methods" do
|
23
|
+
|
24
|
+
specify {subject.should respond_to(:launch_date)}
|
25
|
+
context "#launch_date" do
|
26
|
+
it "returns expected launch date" do
|
27
|
+
subject.launch_date.should == fixture.date_launch
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
specify {subject.should respond_to(:owner_id)}
|
32
|
+
context "#owner_id" do
|
33
|
+
it "returns expected id for owner of photo" do
|
34
|
+
subject.owner_id.should == fixture.nsid
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context "#owner" do
|
39
|
+
it "returns expected id for owner of photo" do
|
40
|
+
subject.owner.should == fixture.nsid
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
specify {subject.should respond_to(:owner_name)}
|
45
|
+
context "#owner_name" do
|
46
|
+
it "returns expected owner_name" do
|
47
|
+
subject.owner_name.should == fixture.name
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
specify {subject.should respond_to(:site_url)}
|
52
|
+
context "#site_url" do
|
53
|
+
it "returns expected url for site owner" do
|
54
|
+
subject.site_url.should == fixture.urls[0]['_content']
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
specify {subject.should respond_to(:license_url)}
|
59
|
+
context "#license_url" do
|
60
|
+
it "returns expected url for license of photos" do
|
61
|
+
subject.license_url.should == fixture.urls[1]['_content']
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
specify {subject.should respond_to(:flickr_url)}
|
66
|
+
context "#flickr_url" do
|
67
|
+
it "returns expected url for institution on flickr" do
|
68
|
+
subject.flickr_url.should == fixture.urls[2]['_content']
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
specify {subject.should respond_to(:==)}
|
73
|
+
context "#==" do
|
74
|
+
it "returns true when object is compared to itself" do
|
75
|
+
subject.should == subject
|
76
|
+
end
|
77
|
+
it "returns true when object is compared to clone of itself" do
|
78
|
+
subject.should == subject.clone
|
79
|
+
end
|
80
|
+
it "returns flase when object is compared to identical object EXCEPT with one element" do
|
81
|
+
subject.should_not == subject.clone.instance_eval('@delegated_to_object').instance_eval('@h["urls"][0].instance_eval("@h")["type"]="garbage"')
|
82
|
+
end
|
83
|
+
it "returns false when object is compared to random object" do
|
84
|
+
subject.should_not == [1,2,3,4]
|
85
|
+
end
|
86
|
+
it "returns false when object is compared to another object of same calss" do
|
87
|
+
subject.should_not == klass.new(fixtures.commons_institutions[1])
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
|
93
|
+
context "custom cloning" do
|
94
|
+
context "#initialize_copy" do
|
95
|
+
it "returns institution objects that have distinct ids from the cloned object" do
|
96
|
+
other = subject.clone
|
97
|
+
subject.instance_eval('@delegated_to_object').__id__.should_not == other.instance_eval('@delegated_to_object').__id__
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
@@ -0,0 +1,167 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe APP::CommonsInstitutions do
|
4
|
+
let(:api) {APP::Api}
|
5
|
+
let(:klass) {APP::CommonsInstitutions}
|
6
|
+
let(:fixtures){APP::Fixtures.new}
|
7
|
+
let(:fixture){fixtures.commons_institutions}
|
8
|
+
subject {klass.new(fixture)}
|
9
|
+
|
10
|
+
|
11
|
+
context "class methods" do
|
12
|
+
specify { klass.should respond_to(:defaults)}
|
13
|
+
it "returns expected set of defaults" do
|
14
|
+
klass.defaults.should == FlickrMocks::Models::Helpers.paging_defaults
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
context "initialization" do
|
19
|
+
it "returns object of a proper class when photos FlickRaw::ResponseList provided" do
|
20
|
+
klass.new(fixture).class.should == klass
|
21
|
+
end
|
22
|
+
it "raises an error when FlickRaw::Response provided" do
|
23
|
+
expect {klass.new(fixtures.photo)}.to raise_error(ArgumentError)
|
24
|
+
end
|
25
|
+
it "raises an error when an Array class specified" do
|
26
|
+
expect {klass.new([1,3,4])}.to raise_error(ArgumentError)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context "instance methods" do
|
31
|
+
specify {subject.should respond_to(:default)}
|
32
|
+
context "#default" do
|
33
|
+
it "should return default when proper symbol provided" do
|
34
|
+
klass.defaults.keys.each do |symbol|
|
35
|
+
subject.default(symbol).should == klass.defaults[symbol]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
it "should return default when proper string provided" do
|
39
|
+
klass.defaults.keys.each do |symbol|
|
40
|
+
subject.default(symbol.to_s).should == klass.defaults[symbol]
|
41
|
+
end
|
42
|
+
end
|
43
|
+
it "should return nil when 'garbage' provided" do
|
44
|
+
subject.default(:garbage).should == nil
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context "paging methods" do
|
49
|
+
specify {subject.should respond_to(:current_page)}
|
50
|
+
context "#current_page" do
|
51
|
+
it "should return 1 when no current_page given at initialization" do
|
52
|
+
klass.new(fixture,:per_page => 20).current_page.should == 1
|
53
|
+
end
|
54
|
+
it "should return specified current_page is valid" do
|
55
|
+
klass.new(fixture,:per_page => 20, :current_page => 2).current_page.should == 2
|
56
|
+
end
|
57
|
+
it "should return 1 when current page is 0" do
|
58
|
+
klass.new(fixture,:per_page => 20, :current_page => 0).current_page.should == 1
|
59
|
+
end
|
60
|
+
it "should return max page when current_page is greater than max_page" do
|
61
|
+
max_page = (fixture.size / 20)
|
62
|
+
klass.new(fixture,:per_page => 20,
|
63
|
+
:current_page => max_page+1).current_page.should == max_page
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
specify {subject.should respond_to(:per_page)}
|
68
|
+
context "#per_page" do
|
69
|
+
it "returns default per_page when none specified at initialization" do
|
70
|
+
klass.new(fixture,:current_page => 1).per_page.should ==
|
71
|
+
FlickrMocks::Models::Helpers.paging_defaults[:per_page]
|
72
|
+
end
|
73
|
+
it "returns per_page value that was specified during initialization" do
|
74
|
+
klass.new(fixture,:per_page => 33, :current_page => 1).per_page.should == 33
|
75
|
+
end
|
76
|
+
it "returns 1 when per_page is set to 0" do
|
77
|
+
klass.new(fixture,:per_page => 0, :current_page => 1).per_page.should ==
|
78
|
+
FlickrMocks::Models::Helpers.paging_defaults[:per_page]
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
specify {subject.should respond_to(:total_entries)}
|
83
|
+
context "#total_entries" do
|
84
|
+
it "returns expected number of photos" do
|
85
|
+
subject.total_entries.should == fixtures.commons_institutions.size
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
specify {subject.should respond_to(:==)}
|
90
|
+
context "#==" do
|
91
|
+
subject{klass.new(fixture,:per_page => 20, :current_page => 1)}
|
92
|
+
it "returns true when object compared to itself" do
|
93
|
+
subject.should == subject
|
94
|
+
end
|
95
|
+
it "returns true when object compared to clone of itself" do
|
96
|
+
subject.should == subject.clone
|
97
|
+
end
|
98
|
+
it "returns false when object is compared to object with different :per_page" do
|
99
|
+
subject.should_not == klass.new(fixture, :per_page => subject.per_page + 1,
|
100
|
+
:current_page => subject.current_page)
|
101
|
+
end
|
102
|
+
it "returns false when object is compared to object with different :current_page" do
|
103
|
+
subject.should_not == klass.new(fixture,:per_page => subject.per_page,
|
104
|
+
:current_page => subject.current_page + 1)
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
context "metaprogramming methods" do
|
111
|
+
specify{ subject.should respond_to(:delegated_instance_methods)}
|
112
|
+
context "#delegated_instance_methods" do
|
113
|
+
it "returns expected list of methods that are delegated to other objects" do
|
114
|
+
subject.delegated_instance_methods.sort.should == (FlickrMocks::Models::Helpers.array_accessor_methods).sort
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
specify { subject.should respond_to(:methods)}
|
119
|
+
context "#methods" do
|
120
|
+
it "should return all methods as well as array iteration methods" do
|
121
|
+
subject.methods.sort.should == (subject.old_methods + subject.delegated_instance_methods).sort
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
specify{ subject.should respond_to(:respond_to?)}
|
126
|
+
context "#respond_to?" do
|
127
|
+
it "recognizes all methods returned by #methods" do
|
128
|
+
subject.methods.each do |method|
|
129
|
+
subject.should respond_to(method)
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
context "iteratable methods" do
|
135
|
+
let(:reference) {subject.instance_eval('@delegated_to_object')}
|
136
|
+
it_behaves_like "object with delegated Array accessor helpers"
|
137
|
+
end
|
138
|
+
|
139
|
+
specify {subject.should respond_to(:collection)}
|
140
|
+
context "#collection" do
|
141
|
+
context "usable argument set to nil" do
|
142
|
+
let(:subject){
|
143
|
+
klass.new(fixture,:per_page => 20, :current_page => 1)
|
144
|
+
}
|
145
|
+
let(:reference){
|
146
|
+
OpenStruct.new :current_page => 1,
|
147
|
+
:per_page => 20,
|
148
|
+
:total_entries => fixture.size,
|
149
|
+
:collection => subject.institutions
|
150
|
+
}
|
151
|
+
it_behaves_like "object that responds to collection"
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
context "custom cloning methods" do
|
157
|
+
context "#initialize_copy" do
|
158
|
+
it "returns institution objects that have distinct ids from the cloned object" do
|
159
|
+
other = subject.clone
|
160
|
+
subject.each_index do |index|
|
161
|
+
subject[index].__id__.should_not == other[index].__id__
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
data/spec/models/helpers_spec.rb
CHANGED
@@ -8,9 +8,9 @@ describe APP::Models::Helpers do
|
|
8
8
|
context "array_accessor_methods" do
|
9
9
|
it "returns expected array methods" do
|
10
10
|
klass.array_accessor_methods.sort.should == [:[], :at,:fetch, :first, :last,:each,
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
:each_index, :reverse_each,:length, :size,
|
12
|
+
:empty?, :find_index, :index, :each_with_index,:rindex, :collect,
|
13
|
+
:map, :select, :keep_if, :values_at].sort
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
@@ -18,8 +18,20 @@ describe APP::Models::Helpers do
|
|
18
18
|
context "possible_sizes" do
|
19
19
|
it "returns expected array of possible image sizes" do
|
20
20
|
klass.possible_sizes.should == [:square, :thumbnail, :small, :medium,
|
21
|
-
|
21
|
+
:medium_640, :large, :original]
|
22
22
|
end
|
23
23
|
end
|
24
|
+
|
25
|
+
specify {klass.should respond_to(:paging_defaults)}
|
26
|
+
context "paging_defaults" do
|
27
|
+
it "returns expected hash of paging defaults" do
|
28
|
+
klass.paging_defaults.should == {
|
29
|
+
:max_entries => 4000,
|
30
|
+
:per_page => 50,
|
31
|
+
:current_page => 1
|
32
|
+
}
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
24
36
|
end
|
25
37
|
end
|
data/spec/models/photos_spec.rb
CHANGED
@@ -12,8 +12,7 @@ describe APP::Photos do
|
|
12
12
|
let(:max_pages){subject.default(:max_entries)/subject.default(:per_page)}
|
13
13
|
|
14
14
|
context "class methods" do
|
15
|
-
specify { klass.should respond_to(:defaults)}
|
16
|
-
|
15
|
+
specify { klass.should respond_to(:defaults)}
|
17
16
|
context "defaults" do
|
18
17
|
before(:each) do
|
19
18
|
@defaults = klass.defaults.clone
|
@@ -9,6 +9,7 @@ shared_examples_for "object with delegated Array accessor helpers" do
|
|
9
9
|
specify{subject.should respond_to(:last)}
|
10
10
|
specify{subject.should respond_to(:each)}
|
11
11
|
specify{subject.should respond_to(:each_index)}
|
12
|
+
specify{subject.should respond_to(:each_with_index)}
|
12
13
|
specify{subject.should respond_to(:reverse_each)}
|
13
14
|
specify{subject.should respond_to(:length)}
|
14
15
|
specify{subject.should respond_to(:size)}
|
@@ -101,6 +102,17 @@ shared_examples_for "object with delegated Array accessor helpers" do
|
|
101
102
|
end
|
102
103
|
end
|
103
104
|
|
105
|
+
context "#each_with_index" do
|
106
|
+
it "returns value and index" do
|
107
|
+
subject.each_with_index do |value,index|
|
108
|
+
value.should == reference[index]
|
109
|
+
end
|
110
|
+
reference.each_with_index do |value,index|
|
111
|
+
value.should == subject[index]
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
104
116
|
|
105
117
|
context "#each_index" do
|
106
118
|
it "returns same list as reference" do
|
data/tasks/fixtures.rb
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../lib/flickrmocks')
|
2
2
|
require 'fileutils'
|
3
|
+
require 'ruby-debug'
|
3
4
|
|
4
5
|
|
5
6
|
# used for providing fixtures to users of the gem
|
6
7
|
namespace :fixtures do
|
7
8
|
desc 'generate all fixtures for USERS of the GEM'
|
8
9
|
task :all => [:photos,:empty_photos,:interesting_photos,:author_photos,:photo,:photo_details,
|
9
|
-
:photo_sizes,:photo_size,:expected_methods]
|
10
|
+
:photo_sizes,:photo_size,:expected_methods, :commons_institutions]
|
10
11
|
|
11
12
|
desc 'generate fixture for flickr.photos.search'
|
12
13
|
task :photos => :repository do
|
@@ -51,12 +52,17 @@ namespace :fixtures do
|
|
51
52
|
dump default_photo_sizes,:photo_sizes
|
52
53
|
end
|
53
54
|
|
54
|
-
desc '
|
55
|
+
desc 'generate fixture for single size'
|
55
56
|
task :photo_size => :repository do
|
56
57
|
config_flickr
|
57
58
|
dump default_photo_sizes[0],:photo_size
|
58
59
|
end
|
59
60
|
|
61
|
+
desc 'generate fixture for commons institutions'
|
62
|
+
task :commons_institutions => :repository do
|
63
|
+
config_flickr
|
64
|
+
dump default_commons_institutions, :commons_institutions
|
65
|
+
end
|
60
66
|
|
61
67
|
desc 'expected methods'
|
62
68
|
task :expected_methods => :repository do
|
@@ -70,6 +76,7 @@ namespace :fixtures do
|
|
70
76
|
data.photo_details = default_methods(default_photo_details)
|
71
77
|
data.photo_sizes = default_methods(default_photo_sizes)
|
72
78
|
data.photo_size = default_methods(default_photo_size)
|
79
|
+
data.commons_institutions = default_methods(default_commons_institutions)
|
73
80
|
dump data,:expected_methods
|
74
81
|
end
|
75
82
|
|
@@ -106,7 +113,7 @@ namespace :fixtures do
|
|
106
113
|
end
|
107
114
|
|
108
115
|
def repo_dir
|
109
|
-
|
116
|
+
config_dir + '/spec/fixtures/'
|
110
117
|
end
|
111
118
|
|
112
119
|
def dump(data,fname)
|
@@ -155,6 +162,11 @@ namespace :fixtures do
|
|
155
162
|
@default_empty_photos
|
156
163
|
end
|
157
164
|
|
165
|
+
def default_commons_institutions
|
166
|
+
@default_commons_institutions ||= flickr.commons.getInstitutions
|
167
|
+
@default_commons_institutions
|
168
|
+
end
|
169
|
+
|
158
170
|
def default_methods(obj)
|
159
171
|
obj.methods(false).push(:flickr_type)
|
160
172
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 8
|
8
|
-
-
|
9
|
-
version: 0.8.
|
8
|
+
- 8
|
9
|
+
version: 0.8.8
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Takaltoo
|
@@ -14,27 +14,13 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-11-
|
17
|
+
date: 2010-11-18 00:00:00 -08:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
21
|
-
name: thoughtbot-shoulda
|
22
|
-
prerelease: false
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
-
none: false
|
25
|
-
requirements:
|
26
|
-
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
segments:
|
29
|
-
- 2
|
30
|
-
- 10
|
31
|
-
version: "2.10"
|
32
|
-
type: :development
|
33
|
-
version_requirements: *id001
|
34
20
|
- !ruby/object:Gem::Dependency
|
35
21
|
name: rspec
|
36
22
|
prerelease: false
|
37
|
-
requirement: &
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
38
24
|
none: false
|
39
25
|
requirements:
|
40
26
|
- - ">="
|
@@ -47,11 +33,11 @@ dependencies:
|
|
47
33
|
- 22
|
48
34
|
version: 2.0.0.beta.22
|
49
35
|
type: :development
|
50
|
-
version_requirements: *
|
36
|
+
version_requirements: *id001
|
51
37
|
- !ruby/object:Gem::Dependency
|
52
38
|
name: capybara
|
53
39
|
prerelease: false
|
54
|
-
requirement: &
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
55
41
|
none: false
|
56
42
|
requirements:
|
57
43
|
- - ">="
|
@@ -60,11 +46,11 @@ dependencies:
|
|
60
46
|
- 0
|
61
47
|
version: "0"
|
62
48
|
type: :development
|
63
|
-
version_requirements: *
|
49
|
+
version_requirements: *id002
|
64
50
|
- !ruby/object:Gem::Dependency
|
65
51
|
name: factory_girl_rails
|
66
52
|
prerelease: false
|
67
|
-
requirement: &
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
68
54
|
none: false
|
69
55
|
requirements:
|
70
56
|
- - ">="
|
@@ -74,11 +60,11 @@ dependencies:
|
|
74
60
|
- 0
|
75
61
|
version: "1.0"
|
76
62
|
type: :development
|
77
|
-
version_requirements: *
|
63
|
+
version_requirements: *id003
|
78
64
|
- !ruby/object:Gem::Dependency
|
79
65
|
name: faker
|
80
66
|
prerelease: false
|
81
|
-
requirement: &
|
67
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
82
68
|
none: false
|
83
69
|
requirements:
|
84
70
|
- - ">="
|
@@ -89,11 +75,11 @@ dependencies:
|
|
89
75
|
- 1
|
90
76
|
version: 0.3.1
|
91
77
|
type: :development
|
92
|
-
version_requirements: *
|
78
|
+
version_requirements: *id004
|
93
79
|
- !ruby/object:Gem::Dependency
|
94
80
|
name: flickraw
|
95
81
|
prerelease: false
|
96
|
-
requirement: &
|
82
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
97
83
|
none: false
|
98
84
|
requirements:
|
99
85
|
- - ">="
|
@@ -104,11 +90,11 @@ dependencies:
|
|
104
90
|
- 2
|
105
91
|
version: 0.8.2
|
106
92
|
type: :runtime
|
107
|
-
version_requirements: *
|
93
|
+
version_requirements: *id005
|
108
94
|
- !ruby/object:Gem::Dependency
|
109
95
|
name: chronic
|
110
96
|
prerelease: false
|
111
|
-
requirement: &
|
97
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
112
98
|
none: false
|
113
99
|
requirements:
|
114
100
|
- - ">="
|
@@ -117,7 +103,7 @@ dependencies:
|
|
117
103
|
- 0
|
118
104
|
version: "0"
|
119
105
|
type: :runtime
|
120
|
-
version_requirements: *
|
106
|
+
version_requirements: *id006
|
121
107
|
description: |-
|
122
108
|
FlickrMocks makes it possible to Marshal responses
|
123
109
|
generated from the FLickRaw gem. This is useful for
|
@@ -153,6 +139,8 @@ files:
|
|
153
139
|
- lib/flickr_mocks/flickraw/custom_marshal.rb
|
154
140
|
- lib/flickr_mocks/flickraw/flickraw.rb
|
155
141
|
- lib/flickr_mocks/helpers.rb
|
142
|
+
- lib/flickr_mocks/models/commons_institution.rb
|
143
|
+
- lib/flickr_mocks/models/commons_institutions.rb
|
156
144
|
- lib/flickr_mocks/models/helpers.rb
|
157
145
|
- lib/flickr_mocks/models/photo.rb
|
158
146
|
- lib/flickr_mocks/models/photo_details.rb
|
@@ -177,6 +165,7 @@ files:
|
|
177
165
|
- spec/base/stubs_spec.rb
|
178
166
|
- spec/base/version_spec.rb
|
179
167
|
- spec/fixtures/author_photos.marshal
|
168
|
+
- spec/fixtures/commons_institutions.marshal
|
180
169
|
- spec/fixtures/empty_photos.marshal
|
181
170
|
- spec/fixtures/expected_methods.marshal
|
182
171
|
- spec/fixtures/interesting_photos.marshal
|
@@ -185,6 +174,8 @@ files:
|
|
185
174
|
- spec/fixtures/photo_size.marshal
|
186
175
|
- spec/fixtures/photo_sizes.marshal
|
187
176
|
- spec/fixtures/photos.marshal
|
177
|
+
- spec/models/commons_institution_spec.rb
|
178
|
+
- spec/models/commons_institutions_spec.rb
|
188
179
|
- spec/models/helpers_spec.rb
|
189
180
|
- spec/models/photo_details_spec.rb
|
190
181
|
- spec/models/photo_dimensions_spec.rb
|
@@ -239,7 +230,9 @@ test_files:
|
|
239
230
|
- spec/models/helpers_spec.rb
|
240
231
|
- spec/models/photo_details_spec.rb
|
241
232
|
- spec/models/photo_size_spec.rb
|
233
|
+
- spec/models/commons_institution_spec.rb
|
242
234
|
- spec/models/photo_sizes_spec.rb
|
235
|
+
- spec/models/commons_institutions_spec.rb
|
243
236
|
- spec/models/photos_spec.rb
|
244
237
|
- spec/models/photo_dimensions_spec.rb
|
245
238
|
- spec/models/photo_spec.rb
|