rebay 1.1.2 → 1.1.3
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.
- data/Gemfile +11 -0
- data/Gemfile.lock +30 -0
- data/VERSION +1 -1
- data/lib/rebay.rb +0 -4
- data/lib/rebay/response.rb +3 -3
- data/rebay.gemspec +31 -30
- metadata +66 -60
- data/config.rb +0 -3
- data/spec/api_spec.rb +0 -48
- data/spec/finding_spec.rb +0 -238
- data/spec/response_spec.rb +0 -120
- data/spec/shopping_spec.rb +0 -274
- data/spec/spec_helper.rb +0 -10
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
diff-lcs (1.1.2)
|
5
|
+
git (1.2.5)
|
6
|
+
jeweler (1.5.2)
|
7
|
+
bundler (~> 1.0.0)
|
8
|
+
git (>= 1.2.5)
|
9
|
+
rake
|
10
|
+
json (1.5.1)
|
11
|
+
rake (0.8.7)
|
12
|
+
rspec (2.5.0)
|
13
|
+
rspec-core (~> 2.5.0)
|
14
|
+
rspec-expectations (~> 2.5.0)
|
15
|
+
rspec-mocks (~> 2.5.0)
|
16
|
+
rspec-core (2.5.1)
|
17
|
+
rspec-expectations (2.5.0)
|
18
|
+
diff-lcs (~> 1.1.2)
|
19
|
+
rspec-mocks (2.5.0)
|
20
|
+
watchr (0.7)
|
21
|
+
|
22
|
+
PLATFORMS
|
23
|
+
ruby
|
24
|
+
|
25
|
+
DEPENDENCIES
|
26
|
+
bundler (>= 1.0.0)
|
27
|
+
jeweler (>= 1.5.2)
|
28
|
+
json
|
29
|
+
rspec
|
30
|
+
watchr
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.3
|
data/lib/rebay.rb
CHANGED
data/lib/rebay/response.rb
CHANGED
@@ -8,11 +8,11 @@ module Rebay
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def success?
|
11
|
-
|
11
|
+
@response["Ack"] == 'Success' || @response['ack'] == 'Success'
|
12
12
|
end
|
13
13
|
|
14
14
|
def failure?
|
15
|
-
|
15
|
+
@response["Ack"] == 'Failure' || @response['ack'] == 'Failure'
|
16
16
|
end
|
17
17
|
|
18
18
|
def trim(key)
|
@@ -64,4 +64,4 @@ module Rebay
|
|
64
64
|
end
|
65
65
|
end
|
66
66
|
end
|
67
|
-
end
|
67
|
+
end
|
data/rebay.gemspec
CHANGED
@@ -1,58 +1,59 @@
|
|
1
1
|
# Generated by jeweler
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "1.1.
|
7
|
+
s.name = "rebay"
|
8
|
+
s.version = "1.1.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Chuck Collins"]
|
12
|
-
s.date =
|
13
|
-
s.email =
|
12
|
+
s.date = "2012-02-17"
|
13
|
+
s.email = "chuck.collins@gmail.com"
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE",
|
16
|
-
|
16
|
+
"README.md"
|
17
17
|
]
|
18
18
|
s.files = [
|
19
|
+
"Gemfile",
|
20
|
+
"Gemfile.lock",
|
19
21
|
"LICENSE",
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
"rebay.gemspec"
|
22
|
+
"README.md",
|
23
|
+
"Rakefile",
|
24
|
+
"VERSION",
|
25
|
+
"init.rb",
|
26
|
+
"lib/rebay.rb",
|
27
|
+
"lib/rebay/api.rb",
|
28
|
+
"lib/rebay/finding.rb",
|
29
|
+
"lib/rebay/railtie.rb",
|
30
|
+
"lib/rebay/response.rb",
|
31
|
+
"lib/rebay/shopping.rb",
|
32
|
+
"rebay.gemspec"
|
32
33
|
]
|
33
|
-
s.homepage =
|
34
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
34
|
+
s.homepage = "http://github.com/ccollins/rebay"
|
35
35
|
s.require_paths = ["lib"]
|
36
|
-
s.rubygems_version =
|
37
|
-
s.summary =
|
38
|
-
s.test_files = [
|
39
|
-
"spec/api_spec.rb",
|
40
|
-
"spec/finding_spec.rb",
|
41
|
-
"spec/response_spec.rb",
|
42
|
-
"spec/shopping_spec.rb",
|
43
|
-
"spec/spec_helper.rb"
|
44
|
-
]
|
36
|
+
s.rubygems_version = "1.8.11"
|
37
|
+
s.summary = "Client for the RESTful JSON ebay finding and shopping api"
|
45
38
|
|
46
39
|
if s.respond_to? :specification_version then
|
47
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
48
40
|
s.specification_version = 3
|
49
41
|
|
50
42
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
43
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
44
|
+
s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
|
45
|
+
s.add_development_dependency(%q<jeweler>, [">= 1.5.2"])
|
51
46
|
s.add_runtime_dependency(%q<json>, [">= 0"])
|
52
47
|
else
|
48
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
49
|
+
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
50
|
+
s.add_dependency(%q<jeweler>, [">= 1.5.2"])
|
53
51
|
s.add_dependency(%q<json>, [">= 0"])
|
54
52
|
end
|
55
53
|
else
|
54
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
55
|
+
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
56
|
+
s.add_dependency(%q<jeweler>, [">= 1.5.2"])
|
56
57
|
s.add_dependency(%q<json>, [">= 0"])
|
57
58
|
end
|
58
59
|
end
|
metadata
CHANGED
@@ -1,50 +1,74 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rebay
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 1
|
7
|
-
- 1
|
8
|
-
- 2
|
9
|
-
version: 1.1.2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.3
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Chuck Collins
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
12
|
+
date: 2012-02-17 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rspec
|
16
|
+
requirement: &70147704523280 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70147704523280
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: bundler
|
27
|
+
requirement: &70147704517520 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.0.0
|
33
|
+
type: :development
|
22
34
|
prerelease: false
|
23
|
-
|
35
|
+
version_requirements: *70147704517520
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: jeweler
|
38
|
+
requirement: &70147704513820 !ruby/object:Gem::Requirement
|
24
39
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
|
30
|
-
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 1.5.2
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70147704513820
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: json
|
49
|
+
requirement: &70147704510340 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
31
55
|
type: :runtime
|
32
|
-
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70147704510340
|
33
58
|
description:
|
34
59
|
email: chuck.collins@gmail.com
|
35
60
|
executables: []
|
36
|
-
|
37
61
|
extensions: []
|
38
|
-
|
39
|
-
extra_rdoc_files:
|
62
|
+
extra_rdoc_files:
|
40
63
|
- LICENSE
|
41
64
|
- README.md
|
42
|
-
files:
|
65
|
+
files:
|
66
|
+
- Gemfile
|
67
|
+
- Gemfile.lock
|
43
68
|
- LICENSE
|
44
69
|
- README.md
|
45
70
|
- Rakefile
|
46
71
|
- VERSION
|
47
|
-
- config.rb
|
48
72
|
- init.rb
|
49
73
|
- lib/rebay.rb
|
50
74
|
- lib/rebay/api.rb
|
@@ -53,46 +77,28 @@ files:
|
|
53
77
|
- lib/rebay/response.rb
|
54
78
|
- lib/rebay/shopping.rb
|
55
79
|
- rebay.gemspec
|
56
|
-
- spec/api_spec.rb
|
57
|
-
- spec/finding_spec.rb
|
58
|
-
- spec/response_spec.rb
|
59
|
-
- spec/shopping_spec.rb
|
60
|
-
- spec/spec_helper.rb
|
61
|
-
has_rdoc: true
|
62
80
|
homepage: http://github.com/ccollins/rebay
|
63
81
|
licenses: []
|
64
|
-
|
65
82
|
post_install_message:
|
66
|
-
rdoc_options:
|
67
|
-
|
68
|
-
require_paths:
|
83
|
+
rdoc_options: []
|
84
|
+
require_paths:
|
69
85
|
- lib
|
70
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
86
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
71
87
|
none: false
|
72
|
-
requirements:
|
73
|
-
- -
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
|
76
|
-
|
77
|
-
version: "0"
|
78
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ! '>='
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
92
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
79
93
|
none: false
|
80
|
-
requirements:
|
81
|
-
- -
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
|
84
|
-
- 0
|
85
|
-
version: "0"
|
94
|
+
requirements:
|
95
|
+
- - ! '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
86
98
|
requirements: []
|
87
|
-
|
88
99
|
rubyforge_project:
|
89
|
-
rubygems_version: 1.
|
100
|
+
rubygems_version: 1.8.11
|
90
101
|
signing_key:
|
91
102
|
specification_version: 3
|
92
103
|
summary: Client for the RESTful JSON ebay finding and shopping api
|
93
|
-
test_files:
|
94
|
-
- spec/api_spec.rb
|
95
|
-
- spec/finding_spec.rb
|
96
|
-
- spec/response_spec.rb
|
97
|
-
- spec/shopping_spec.rb
|
98
|
-
- spec/spec_helper.rb
|
104
|
+
test_files: []
|
data/config.rb
DELETED
data/spec/api_spec.rb
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
-
|
3
|
-
module Rebay
|
4
|
-
describe Api do
|
5
|
-
it "should respond to configure" do
|
6
|
-
Rebay::Api.should respond_to(:configure)
|
7
|
-
end
|
8
|
-
|
9
|
-
it "should allow setting of app_id" do
|
10
|
-
Rebay::Api.should respond_to(:app_id=)
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should allow getting of app_id" do
|
14
|
-
Rebay::Api.should respond_to(:app_id)
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should return app id after configureation" do
|
18
|
-
app_id = Rebay::Api.app_id
|
19
|
-
Rebay::Api.configure do |rebay|
|
20
|
-
rebay.app_id = 'test'
|
21
|
-
end
|
22
|
-
Rebay::Api.app_id.should == 'test'
|
23
|
-
Rebay::Api.configure do |rebay|
|
24
|
-
rebay.app_id = app_id
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
context "when calling build_rest_payload" do
|
29
|
-
before(:each) do
|
30
|
-
@api = Rebay::Api.new
|
31
|
-
end
|
32
|
-
|
33
|
-
it "should build rest payload from hash" do
|
34
|
-
payload = @api.send(:build_rest_payload, {:test=>'blah', :test2=>'blah', :test3=>'blah'})
|
35
|
-
payload.should include("&test=blah")
|
36
|
-
payload.should include("&test2=blah")
|
37
|
-
payload.should include("&test3=blah")
|
38
|
-
end
|
39
|
-
|
40
|
-
it "should escape html chars" do
|
41
|
-
payload = @api.send(:build_rest_payload, {:test=>'blah', :test2=>'blah', :test3=>'blah blah'})
|
42
|
-
payload.should include("&test=blah")
|
43
|
-
payload.should include("&test2=blah")
|
44
|
-
payload.should include("&test3=blah%20blah")
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
data/spec/finding_spec.rb
DELETED
@@ -1,238 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
-
|
3
|
-
module Rebay
|
4
|
-
describe Finding do
|
5
|
-
before(:each) do
|
6
|
-
@finder = Finding.new
|
7
|
-
@finder.stub!(:get_json_response).and_return(Rebay::Response.new({"Ack" => 'Success'}))
|
8
|
-
end
|
9
|
-
|
10
|
-
it "should specify base url" do
|
11
|
-
Finding::BASE_URL.should_not be_nil
|
12
|
-
end
|
13
|
-
|
14
|
-
it "should specify version" do
|
15
|
-
Finding::VERSION.should_not be_nil
|
16
|
-
end
|
17
|
-
|
18
|
-
context "after creation" do
|
19
|
-
it "should provide find_items_advanced" do
|
20
|
-
@finder.should respond_to(:find_items_advanced)
|
21
|
-
end
|
22
|
-
|
23
|
-
it "should provide find_items_by_category" do
|
24
|
-
@finder.should respond_to(:find_items_by_category)
|
25
|
-
end
|
26
|
-
|
27
|
-
it "should provide find_items_by_product" do
|
28
|
-
@finder.should respond_to(:find_items_by_product)
|
29
|
-
end
|
30
|
-
|
31
|
-
it "should provide find_items_in_ebay_stores" do
|
32
|
-
@finder.should respond_to(:find_items_in_ebay_stores)
|
33
|
-
end
|
34
|
-
|
35
|
-
it "should provide get_histograms" do
|
36
|
-
@finder.should respond_to(:get_histograms)
|
37
|
-
end
|
38
|
-
|
39
|
-
it "should provide get_search_keywords_recommendation" do
|
40
|
-
@finder.should respond_to(:get_search_keywords_recommendation)
|
41
|
-
end
|
42
|
-
|
43
|
-
it "should provide get_version" do
|
44
|
-
@finder.should respond_to(:get_version)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
context "when calling find_items_advanced" do
|
49
|
-
it "should fail without args" do
|
50
|
-
lambda { @finder.find_items_advanced }.should raise_error(ArgumentError)
|
51
|
-
end
|
52
|
-
|
53
|
-
it "should return a hash response with categoryId as parameter" do
|
54
|
-
@finder.find_items_advanced({:categoryId => 1}).class.should eq(Rebay::Response)
|
55
|
-
end
|
56
|
-
|
57
|
-
it "should return a hash response with keywords as parameter" do
|
58
|
-
@finder.find_items_advanced({:keywords => 'feist'}).class.should eq(Rebay::Response)
|
59
|
-
end
|
60
|
-
|
61
|
-
it "should succeed" do
|
62
|
-
@finder.find_items_advanced({:keywords => 'feist'}).success?.should be_true
|
63
|
-
end
|
64
|
-
|
65
|
-
it "should iterate over results" do
|
66
|
-
json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/finding/find_items_advanced"))
|
67
|
-
@finder.stub!(:get_json_response).and_return(Rebay::Response.new(json))
|
68
|
-
response = @finder.find_items_advanced({:keywords => 'whatevs'})
|
69
|
-
|
70
|
-
count = 0
|
71
|
-
response.each { |r| count = count + 1 }
|
72
|
-
count.should eq(2)
|
73
|
-
end
|
74
|
-
|
75
|
-
it "should work with 1 result" do
|
76
|
-
json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/finding/find_items_advanced_one_item"))
|
77
|
-
@finder.stub!(:get_json_response).and_return(Rebay::Response.new(json))
|
78
|
-
response = @finder.find_items_advanced({:categoryId => 1})
|
79
|
-
count = 0
|
80
|
-
|
81
|
-
response.each { |r| count = count + 1 }
|
82
|
-
count.should eq(1)
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
context "when calling find_items_by_category" do
|
87
|
-
it "should fail without args" do
|
88
|
-
lambda { @finder.get_search_keywords_recommendation }.should raise_error(ArgumentError)
|
89
|
-
end
|
90
|
-
|
91
|
-
it "should return a hash response" do
|
92
|
-
@finder.find_items_by_category({:categoryId => 1}).class.should eq(Rebay::Response)
|
93
|
-
end
|
94
|
-
|
95
|
-
it "should succeed" do
|
96
|
-
@finder.find_items_by_category({:categoryId => 1}).success?.should be_true
|
97
|
-
end
|
98
|
-
|
99
|
-
it "should iterate over results" do
|
100
|
-
json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/finding/find_items_by_category"))
|
101
|
-
@finder.stub!(:get_json_response).and_return(Rebay::Response.new(json))
|
102
|
-
response = @finder.find_items_by_category({:categoryId => 1})
|
103
|
-
|
104
|
-
count = 0
|
105
|
-
response.each { |r| count = count + 1 }
|
106
|
-
count.should eq(2)
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
context "when calling find_items_by_product" do
|
111
|
-
it "should fail without args" do
|
112
|
-
lambda { @finder.find_items_by_product }.should raise_error(ArgumentError)
|
113
|
-
end
|
114
|
-
|
115
|
-
it "should return a hash response" do
|
116
|
-
@finder.find_items_by_product({:productId => 53039031}).class.should eq(Rebay::Response)
|
117
|
-
end
|
118
|
-
|
119
|
-
it "should succeed" do
|
120
|
-
@finder.find_items_by_product({:productId => 53039031}).success?.should be_true
|
121
|
-
end
|
122
|
-
|
123
|
-
it "should iterate over results" do
|
124
|
-
json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/finding/find_items_by_product"))
|
125
|
-
@finder.stub!(:get_json_response).and_return(Rebay::Response.new(json))
|
126
|
-
response = @finder.find_items_by_product({:productId => 1})
|
127
|
-
|
128
|
-
count = 0
|
129
|
-
response.each { |r| count = count + 1 }
|
130
|
-
count.should eq(2)
|
131
|
-
end
|
132
|
-
end
|
133
|
-
|
134
|
-
context "when calling find_items_by_keywords" do
|
135
|
-
it "should fail without args" do
|
136
|
-
lambda { @finder.find_items_by_keywords }.should raise_error(ArgumentError)
|
137
|
-
end
|
138
|
-
|
139
|
-
it "should return a hash response" do
|
140
|
-
@finder.find_items_by_keywords({:keywords => 'feist'}).class.should eq(Rebay::Response)
|
141
|
-
end
|
142
|
-
|
143
|
-
it "should succeed" do
|
144
|
-
@finder.find_items_by_keywords({:keywords => 'feist'}).success?.should be_true
|
145
|
-
end
|
146
|
-
|
147
|
-
it "should iterate over results" do
|
148
|
-
json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/finding/find_items_by_keywords"))
|
149
|
-
@finder.stub!(:get_json_response).and_return(Rebay::Response.new(json))
|
150
|
-
response = @finder.find_items_by_keywords({:keywords => 'whatevs'})
|
151
|
-
|
152
|
-
count = 0
|
153
|
-
response.each { |r| count = count + 1 }
|
154
|
-
count.should eq(2)
|
155
|
-
end
|
156
|
-
end
|
157
|
-
|
158
|
-
context "when calling find_items_in_ebay_stores" do
|
159
|
-
it "should fail without args" do
|
160
|
-
lambda { @finder.find_items_in_ebay_stores }.should raise_error(ArgumentError)
|
161
|
-
end
|
162
|
-
|
163
|
-
it "should return a hash response with storeName as parameter" do
|
164
|
-
@finder.find_items_in_ebay_stores({:storeName => 'Laura_Chen\'s_Small_Store'}).class.should eq(Rebay::Response)
|
165
|
-
end
|
166
|
-
|
167
|
-
it "should return a hash response with keywords as parameter" do
|
168
|
-
@finder.find_items_in_ebay_stores({:keywords => 'feist'}).class.should eq(Rebay::Response)
|
169
|
-
end
|
170
|
-
|
171
|
-
it "should succeed" do
|
172
|
-
@finder.find_items_in_ebay_stores({:keywords => 'feist'}).success?.should be_true
|
173
|
-
end
|
174
|
-
end
|
175
|
-
|
176
|
-
context "when calling get_histograms" do
|
177
|
-
it "should fail without args" do
|
178
|
-
lambda { @finder.get_histograms }.should raise_error(ArgumentError)
|
179
|
-
end
|
180
|
-
|
181
|
-
it "should return a hash response" do
|
182
|
-
@finder.get_histograms({:categoryId => 1}).class.should eq(Rebay::Response)
|
183
|
-
end
|
184
|
-
|
185
|
-
it "should succeed" do
|
186
|
-
@finder.get_histograms({:categoryId => 1}).success?.should be_true
|
187
|
-
end
|
188
|
-
end
|
189
|
-
|
190
|
-
context "when calling get_search_keywords_recommendation" do
|
191
|
-
it "should fail without args" do
|
192
|
-
lambda { @finder.get_search_keywords_recommendation }.should raise_error(ArgumentError)
|
193
|
-
end
|
194
|
-
|
195
|
-
it "should return a hash response" do
|
196
|
-
@finder.get_search_keywords_recommendation({:keywords => 'feist'}).class.should eq(Rebay::Response)
|
197
|
-
end
|
198
|
-
|
199
|
-
it "should succeed" do
|
200
|
-
@finder.get_search_keywords_recommendation({:keywords => 'feist'}).success?.should be_true
|
201
|
-
end
|
202
|
-
|
203
|
-
it "should iterate over results" do
|
204
|
-
json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/finding/get_search_keywords_recommendation"))
|
205
|
-
@finder.stub!(:get_json_response).and_return(Rebay::Response.new(json))
|
206
|
-
response = @finder.get_search_keywords_recommendation({:keywords => 'whatevs'})
|
207
|
-
|
208
|
-
count = 0
|
209
|
-
response.each { |r| count = count + 1 }
|
210
|
-
count.should eq(1)
|
211
|
-
|
212
|
-
response.results.should eq('harry potter phoenix')
|
213
|
-
end
|
214
|
-
end
|
215
|
-
|
216
|
-
context "when calling get_version" do
|
217
|
-
it "should return a hash response" do
|
218
|
-
@finder.get_version.class.should eq(Rebay::Response)
|
219
|
-
end
|
220
|
-
|
221
|
-
it "should succeed" do
|
222
|
-
@finder.get_version.success?.should be_true
|
223
|
-
end
|
224
|
-
|
225
|
-
it "should iterate over results" do
|
226
|
-
json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/finding/get_version"))
|
227
|
-
@finder.stub!(:get_json_response).and_return(Rebay::Response.new(json))
|
228
|
-
response = @finder.get_version
|
229
|
-
|
230
|
-
count = 0
|
231
|
-
response.each { |r| count = count + 1 }
|
232
|
-
count.should eq(1)
|
233
|
-
|
234
|
-
response.results.should eq('1.8.0')
|
235
|
-
end
|
236
|
-
end
|
237
|
-
end
|
238
|
-
end
|
data/spec/response_spec.rb
DELETED
@@ -1,120 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + "/spec_helper"
|
2
|
-
|
3
|
-
module Rebay
|
4
|
-
describe Response do
|
5
|
-
context "on creation" do
|
6
|
-
it "should transform the happy json" do
|
7
|
-
json_happy = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/finding/get_search_keywords_recommendation_happy"))
|
8
|
-
response = Response.new(json_happy)
|
9
|
-
response.response.should eq({"getSearchKeywordsRecommendationResponse" => {"ack" => "Success", "version" => "1.5.0",
|
10
|
-
"timestamp" => "2010-08-13T21:11:02.539Z", "keywords" => "accordion"}})
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should transform the sad json" do
|
14
|
-
json_sad = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/finding/get_search_keywords_recommendation_sad"))
|
15
|
-
response = Response.new(json_sad)
|
16
|
-
response.response.should eq({"getSearchKeywordsRecommendationResponse" =>
|
17
|
-
{"ack" => "Warning",
|
18
|
-
"errorMessage" => {"error" => {"errorId" => "59", "domain" => "Marketplace", "severity" => "Warning",
|
19
|
-
"category" => "Request", "message" => "No recommendation was identified for the submitted keywords.",
|
20
|
-
"subdomain" => "Search"}},
|
21
|
-
"version" => "1.5.0",
|
22
|
-
"timestamp" => "2010-08-13T21:08:30.081Z",
|
23
|
-
"keywords" => ""}})
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
it "should return success" do
|
28
|
-
response = Response.new({"Ack" => "Success"})
|
29
|
-
response.success?.should be_true
|
30
|
-
response.failure?.should be_false
|
31
|
-
end
|
32
|
-
|
33
|
-
it "should return failure" do
|
34
|
-
response = Response.new({"Ack" => "Failure"})
|
35
|
-
response.failure?.should be_true
|
36
|
-
response.success?.should be_false
|
37
|
-
end
|
38
|
-
|
39
|
-
it "should trim response" do
|
40
|
-
response = Response.new({"Ack" => "Failure", "test" => "test"})
|
41
|
-
response.trim("test")
|
42
|
-
response.response.should eq("test")
|
43
|
-
end
|
44
|
-
|
45
|
-
it "should trim response with syn" do
|
46
|
-
response = Response.new({"Ack" => "Failure", "test" => "test"})
|
47
|
-
response.trim(:test)
|
48
|
-
response.response.should eq("test")
|
49
|
-
end
|
50
|
-
|
51
|
-
it "should not trim response" do
|
52
|
-
response = Response.new({"Ack" => "Failure", "test" => "test"})
|
53
|
-
response.trim(:nothing)
|
54
|
-
response.response.should eq({"Ack" => "Failure", "test" => "test"})
|
55
|
-
end
|
56
|
-
|
57
|
-
it "should set result key" do
|
58
|
-
response = Response.new({})
|
59
|
-
response.should respond_to(:results)
|
60
|
-
end
|
61
|
-
|
62
|
-
it "should provide empty iterator without a result key" do
|
63
|
-
response = Response.new({})
|
64
|
-
count = 0
|
65
|
-
response.each { |r| count = count + 1 }
|
66
|
-
count.should eq(0)
|
67
|
-
end
|
68
|
-
|
69
|
-
context "using find items advanced json" do
|
70
|
-
before(:each) do
|
71
|
-
@json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/finding/find_items_advanced"))
|
72
|
-
@response = Response.new(@json)
|
73
|
-
@response.trim(:findItemsAdvancedResponse)
|
74
|
-
@proper = {"ack"=>"Success", "version"=>"1.7.0", "timestamp"=>"2010-09-29T01:53:58.039Z",
|
75
|
-
"searchResult"=>{"@count"=>"2",
|
76
|
-
"item"=>[{"itemId"=>"300471157219","title"=>"Minas Tirith 1990 Tolkien fanzine journal LOTR Hobbit",
|
77
|
-
"globalId"=>"EBAY-US","primaryCategory"=>{"categoryId"=>"280","categoryName"=>"Magazine Back Issues"},
|
78
|
-
"secondaryCategory"=>{"categoryId"=>"29799","categoryName"=>"Other"},
|
79
|
-
"galleryURL"=>"http:\/\/thumbs4.ebaystatic.com\/pict\/3004711572198080_1.jpg",
|
80
|
-
"viewItemURL"=>"http:\/\/cgi.ebay.com\/Minas-Tirith-1990-Tolkien-fanzine-journal-LOTR-Hobbit-\/300471157219?pt=Magazines",
|
81
|
-
"paymentMethod"=>"PayPal","autoPay"=>"false","postalCode"=>"55403","location"=>"Minneapolis,MN,USA",
|
82
|
-
"country"=>"US","shippingInfo"=>{"shippingServiceCost"=>{"@currencyId"=>"USD","__value__"=>"2.99"},
|
83
|
-
"shippingType"=>"Flat","shipToLocations"=>"Worldwide"},
|
84
|
-
"sellingStatus"=>{"currentPrice"=>{"@currencyId"=>"USD","__value__"=>"16.99"},
|
85
|
-
"convertedCurrentPrice"=>{"@currencyId"=>"USD","__value__"=>"16.99"},
|
86
|
-
"bidCount"=>"1","sellingState"=>"Active","timeLeft"=>"P0DT0H3M56S"},
|
87
|
-
"listingInfo"=>{"bestOfferEnabled"=>"false","buyItNowAvailable"=>"false",
|
88
|
-
"startTime"=>"2010-09-22T01:57:54.000Z","endTime"=>"2010-09-29T01:57:54.000Z",
|
89
|
-
"listingType"=>"Auction","gift"=>"false"},
|
90
|
-
"condition"=>{"conditionId"=>"4000","conditionDisplayName"=>"Very Good"}},
|
91
|
-
{"itemId"=>"300471157219","title"=>"Minas Tirith 1990 Tolkien fanzine journal LOTR Hobbit",
|
92
|
-
"globalId"=>"EBAY-US","primaryCategory"=>{"categoryId"=>"280","categoryName"=>"Magazine Back Issues"},
|
93
|
-
"secondaryCategory"=>{"categoryId"=>"29799","categoryName"=>"Other"},
|
94
|
-
"galleryURL"=>"http:\/\/thumbs4.ebaystatic.com\/pict\/3004711572198080_1.jpg",
|
95
|
-
"viewItemURL"=>"http:\/\/cgi.ebay.com\/Minas-Tirith-1990-Tolkien-fanzine-journal-LOTR-Hobbit-\/300471157219?pt=Magazines",
|
96
|
-
"paymentMethod"=>"PayPal","autoPay"=>"false","postalCode"=>"55403","location"=>"Minneapolis,MN,USA",
|
97
|
-
"country"=>"US","shippingInfo"=>{"shippingServiceCost"=>{"@currencyId"=>"USD","__value__"=>"2.99"},
|
98
|
-
"shippingType"=>"Flat","shipToLocations"=>"Worldwide"},
|
99
|
-
"sellingStatus"=>{"currentPrice"=>{"@currencyId"=>"USD","__value__"=>"16.99"},
|
100
|
-
"convertedCurrentPrice"=>{"@currencyId"=>"USD","__value__"=>"16.99"},
|
101
|
-
"bidCount"=>"1","sellingState"=>"Active","timeLeft"=>"P0DT0H3M56S"},
|
102
|
-
"listingInfo"=>{"bestOfferEnabled"=>"false","buyItNowAvailable"=>"false",
|
103
|
-
"startTime"=>"2010-09-22T01:57:54.000Z","endTime"=>"2010-09-29T01:57:54.000Z",
|
104
|
-
"listingType"=>"Auction","gift"=>"false"},
|
105
|
-
"condition"=>{"conditionId"=>"4000","conditionDisplayName"=>"Very Good"}}]},
|
106
|
-
"paginationOutput"=>{"pageNumber"=>"1","entriesPerPage"=>"2","totalPages"=>"2359","totalEntries"=>"4717"},
|
107
|
-
"itemSearchURL"=>"http:\/\/shop.ebay.com\/i.html?_nkw=tolkien&_ddo=1&_ipg=2&_pgn=1"}
|
108
|
-
@response.results = @response.response['searchResult']['item']
|
109
|
-
end
|
110
|
-
|
111
|
-
it "should trim format response correctly" do
|
112
|
-
@response.response.should eq(@proper)
|
113
|
-
end
|
114
|
-
|
115
|
-
it "should show correct size" do
|
116
|
-
@response.size.should eq(2)
|
117
|
-
end
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|
data/spec/shopping_spec.rb
DELETED
@@ -1,274 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
-
|
3
|
-
module Rebay
|
4
|
-
describe Shopping do
|
5
|
-
before(:each) do
|
6
|
-
@shopper = Shopping.new
|
7
|
-
@shopper.stub!(:get_json_response).and_return(Rebay::Response.new({"Ack" => "Success"}))
|
8
|
-
end
|
9
|
-
|
10
|
-
it "should specify base url" do
|
11
|
-
Shopping::BASE_URL.should_not be_nil
|
12
|
-
end
|
13
|
-
|
14
|
-
it "should specify version" do
|
15
|
-
Shopping::VERSION.should_not be_nil
|
16
|
-
end
|
17
|
-
|
18
|
-
context "after creation" do
|
19
|
-
it "should provide get_category_info" do
|
20
|
-
@shopper.should respond_to(:get_category_info)
|
21
|
-
end
|
22
|
-
|
23
|
-
it "should provide get_category_info_with_children" do
|
24
|
-
@shopper.should respond_to(:get_category_info_with_children)
|
25
|
-
end
|
26
|
-
|
27
|
-
it "should provide find_products" do
|
28
|
-
@shopper.should respond_to(:find_products)
|
29
|
-
end
|
30
|
-
|
31
|
-
it "should provide find_half_products" do
|
32
|
-
@shopper.should respond_to(:find_half_products)
|
33
|
-
end
|
34
|
-
|
35
|
-
it "should provide get_single_item" do
|
36
|
-
@shopper.should respond_to(:get_single_item)
|
37
|
-
end
|
38
|
-
|
39
|
-
it "should provide get_item_status" do
|
40
|
-
@shopper.should respond_to(:get_item_status)
|
41
|
-
end
|
42
|
-
|
43
|
-
it "should provide get_shipping_costs" do
|
44
|
-
@shopper.should respond_to(:get_shipping_costs)
|
45
|
-
end
|
46
|
-
|
47
|
-
it "should provide get_multiple_items" do
|
48
|
-
@shopper.should respond_to(:get_multiple_items)
|
49
|
-
end
|
50
|
-
|
51
|
-
it "should provide get_user_profile" do
|
52
|
-
@shopper.should respond_to(:get_user_profile)
|
53
|
-
end
|
54
|
-
|
55
|
-
it "should provide find_popular_searches" do
|
56
|
-
@shopper.should respond_to(:find_popular_searches)
|
57
|
-
end
|
58
|
-
|
59
|
-
it "should provide find_popular_items" do
|
60
|
-
@shopper.should respond_to(:find_popular_items)
|
61
|
-
end
|
62
|
-
|
63
|
-
it "should provide find_reviews_and_guides" do
|
64
|
-
@shopper.should respond_to(:find_reviews_and_guides)
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
context "when calling get_category_info" do
|
69
|
-
it "should fail without args" do
|
70
|
-
lambda { @shopper.get_category_info }.should raise_error(ArgumentError)
|
71
|
-
end
|
72
|
-
|
73
|
-
it "should return a hash response" do
|
74
|
-
@shopper.get_category_info({:categoryId => 29223}).class.should eq(Rebay::Response)
|
75
|
-
end
|
76
|
-
|
77
|
-
it "should succeed" do
|
78
|
-
@shopper.get_category_info({:categoryId => 29223}).success?.should be_true
|
79
|
-
end
|
80
|
-
|
81
|
-
it "should iterate over results" do
|
82
|
-
json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/shopping/get_category_info"))
|
83
|
-
@shopper.stub!(:get_json_response).and_return(Rebay::Response.new(json))
|
84
|
-
response = @shopper.get_category_info({:categoryId => 1})
|
85
|
-
|
86
|
-
count = 0
|
87
|
-
response.each { |r| count = count + 1 }
|
88
|
-
count.should eq(1)
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
context "when calling find_products" do
|
93
|
-
it "should fail without args" do
|
94
|
-
lambda { @shopper.find_products }.should raise_error(ArgumentError)
|
95
|
-
end
|
96
|
-
|
97
|
-
it "should return a hash response" do
|
98
|
-
@shopper.find_products({:queryKeywords => 'harry potter'}).class.should eq(Rebay::Response)
|
99
|
-
end
|
100
|
-
|
101
|
-
it "should succeed" do
|
102
|
-
@shopper.find_products({:queryKeywords => 'harry potter'}).success?.should be_true
|
103
|
-
end
|
104
|
-
|
105
|
-
it "should iterate over results" do
|
106
|
-
json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/shopping/find_products"))
|
107
|
-
@shopper.stub!(:get_json_response).and_return(Rebay::Response.new(json))
|
108
|
-
response = @shopper.find_products({:queryKeywords => 'whatevs'})
|
109
|
-
|
110
|
-
count = 0
|
111
|
-
response.each { |r| count = count + 1 }
|
112
|
-
count.should eq(2)
|
113
|
-
end
|
114
|
-
end
|
115
|
-
|
116
|
-
context "when calling find_half_products" do
|
117
|
-
it "should fail without args" do
|
118
|
-
lambda { @shopper.find_half_products }.should raise_error(ArgumentError)
|
119
|
-
end
|
120
|
-
|
121
|
-
it "should return a hash response" do
|
122
|
-
@shopper.find_half_products({:queryKeywords => 'harry potter'}).class.should eq(Rebay::Response)
|
123
|
-
end
|
124
|
-
|
125
|
-
it "should succeed" do
|
126
|
-
@shopper.find_half_products({:queryKeywords => 'harry potter'}).success?.should be_true
|
127
|
-
end
|
128
|
-
|
129
|
-
it "should iterate over results" do
|
130
|
-
json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/shopping/find_half_products"))
|
131
|
-
@shopper.stub!(:get_json_response).and_return(Rebay::Response.new(json))
|
132
|
-
response = @shopper.find_half_products({:queryKeywords => 'whatevs'})
|
133
|
-
|
134
|
-
count = 0
|
135
|
-
response.each { |r| count = count + 1 }
|
136
|
-
count.should eq(2)
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
context "when calling get_single_item" do
|
141
|
-
it "should fail without args" do
|
142
|
-
lambda { @shopper.get_single_item }.should raise_error(ArgumentError)
|
143
|
-
end
|
144
|
-
|
145
|
-
it "should return a hash response" do
|
146
|
-
@shopper.get_single_item({:itemId => 230139965209}).class.should eq(Rebay::Response)
|
147
|
-
end
|
148
|
-
|
149
|
-
it "should succeed" do
|
150
|
-
@shopper.get_single_item({:itemId => 230139965209}).success?.should be_true
|
151
|
-
end
|
152
|
-
end
|
153
|
-
|
154
|
-
context "when calling get_item_status" do
|
155
|
-
it "should fail without args" do
|
156
|
-
lambda { @shopper.get_item_status }.should raise_error(ArgumentError)
|
157
|
-
end
|
158
|
-
|
159
|
-
it "should return a hash response" do
|
160
|
-
@shopper.get_item_status({:itemId => 230139965209}).class.should eq(Rebay::Response)
|
161
|
-
end
|
162
|
-
|
163
|
-
it "should succeed" do
|
164
|
-
@shopper.get_item_status({:itemId => 230139965209}).success?.should be_true
|
165
|
-
end
|
166
|
-
end
|
167
|
-
|
168
|
-
context "when calling get_shipping_costs" do
|
169
|
-
it "should fail without args" do
|
170
|
-
lambda { @shopper.get_shipping_costs }.should raise_error(ArgumentError)
|
171
|
-
end
|
172
|
-
|
173
|
-
it "should return a hash response" do
|
174
|
-
@shopper.get_shipping_costs({:itemId => 230139965209}).class.should eq(Rebay::Response)
|
175
|
-
end
|
176
|
-
|
177
|
-
it "should succeed" do
|
178
|
-
@shopper.get_shipping_costs({:itemId => 230139965209}).success?.should be_true
|
179
|
-
end
|
180
|
-
end
|
181
|
-
|
182
|
-
context "when calling get_multiple_items" do
|
183
|
-
it "should fail without args" do
|
184
|
-
lambda { @shopper.get_multiple_items }.should raise_error(ArgumentError)
|
185
|
-
end
|
186
|
-
|
187
|
-
it "should return a hash response" do
|
188
|
-
@shopper.get_multiple_items({:itemId => 230139965209}).class.should eq(Rebay::Response)
|
189
|
-
end
|
190
|
-
|
191
|
-
it "should succeed" do
|
192
|
-
@shopper.get_multiple_items({:itemId => 230139965209}).success?.should be_true
|
193
|
-
end
|
194
|
-
end
|
195
|
-
|
196
|
-
context "when calling get_user_profile" do
|
197
|
-
it "should fail without args" do
|
198
|
-
lambda { @shopper.get_user_profile }.should raise_error(ArgumentError)
|
199
|
-
end
|
200
|
-
|
201
|
-
it "should return a hash response" do
|
202
|
-
@shopper.get_user_profile({:userId => 1}).class.should eq(Rebay::Response)
|
203
|
-
end
|
204
|
-
|
205
|
-
it "should succeed" do
|
206
|
-
@shopper.get_user_profile({:userId => 1}).success?.should be_true
|
207
|
-
end
|
208
|
-
end
|
209
|
-
|
210
|
-
context "when calling find_popular_searches" do
|
211
|
-
it "should fail without args" do
|
212
|
-
lambda { @shopper.find_popular_searches }.should raise_error(ArgumentError)
|
213
|
-
end
|
214
|
-
|
215
|
-
it "should return a hash response" do
|
216
|
-
@shopper.find_popular_searches({:categoryId => 1}).class.should eq(Rebay::Response)
|
217
|
-
end
|
218
|
-
|
219
|
-
it "should succeed" do
|
220
|
-
@shopper.find_popular_searches({:categoryId => 1}).success?.should be_true
|
221
|
-
end
|
222
|
-
|
223
|
-
it "should iterate over results" do
|
224
|
-
json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/shopping/find_popular_searches"))
|
225
|
-
@shopper.stub!(:get_json_response).and_return(Rebay::Response.new(json))
|
226
|
-
response = @shopper.find_popular_searches({:categoryId => 1})
|
227
|
-
|
228
|
-
count = 0
|
229
|
-
response.each { |r| count = count + 1 }
|
230
|
-
count.should eq(1)
|
231
|
-
end
|
232
|
-
end
|
233
|
-
|
234
|
-
context "when calling find_popular_items" do
|
235
|
-
it "should return a hash response" do
|
236
|
-
@shopper.find_popular_items({:categoryId => 1}).class.should eq(Rebay::Response)
|
237
|
-
end
|
238
|
-
|
239
|
-
it "should succeed" do
|
240
|
-
@shopper.find_popular_items({:categoryId => 1}).success?.should be_true
|
241
|
-
end
|
242
|
-
|
243
|
-
it "should iterate over results" do
|
244
|
-
json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/shopping/find_popular_items"))
|
245
|
-
@shopper.stub!(:get_json_response).and_return(Rebay::Response.new(json))
|
246
|
-
response = @shopper.find_popular_items({:categoryId => 1})
|
247
|
-
|
248
|
-
count = 0
|
249
|
-
response.each { |r| count = count + 1 }
|
250
|
-
count.should eq(19)
|
251
|
-
end
|
252
|
-
end
|
253
|
-
|
254
|
-
context "when calling find_reviews_and_guides" do
|
255
|
-
it "should return a hash response" do
|
256
|
-
@shopper.find_reviews_and_guides.class.should eq(Rebay::Response)
|
257
|
-
end
|
258
|
-
|
259
|
-
it "should succeed" do
|
260
|
-
@shopper.find_reviews_and_guides.success?.should be_true
|
261
|
-
end
|
262
|
-
|
263
|
-
it "should iterate over results" do
|
264
|
-
json = JSON.parse(File.read(File.dirname(__FILE__) + "/json_responses/shopping/find_reviews_and_guides"))
|
265
|
-
@shopper.stub!(:get_json_response).and_return(Rebay::Response.new(json))
|
266
|
-
response = @shopper.find_reviews_and_guides
|
267
|
-
|
268
|
-
count = 0
|
269
|
-
response.each { |r| count = count + 1 }
|
270
|
-
count.should eq(5)
|
271
|
-
end
|
272
|
-
end
|
273
|
-
end
|
274
|
-
end
|