rubyyot-razsell 0.0.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.
- data/.document +5 -0
- data/.gitignore +7 -0
- data/LICENSE +20 -0
- data/README.rdoc +10 -0
- data/Rakefile +68 -0
- data/VERSION +1 -0
- data/docs/RSSGuide1.02.pdf +0 -0
- data/features/razsell.feature +18 -0
- data/features/step_definitions/razsell_steps.rb +40 -0
- data/features/support/env.rb +13 -0
- data/features/support/razsell_mixed_in.rb +5 -0
- data/lib/constants/image_sizes.rb +10 -0
- data/lib/constants/product_types.rb +30 -0
- data/lib/constants/sort_methods.rb +7 -0
- data/lib/constants/sort_periods.rb +9 -0
- data/lib/constants.rb +5 -0
- data/lib/engine.rb +25 -0
- data/lib/http_service.rb +8 -0
- data/lib/item.rb +19 -0
- data/lib/query.rb +107 -0
- data/lib/razsell.rb +11 -0
- data/lib/results.rb +70 -0
- data/test/engine_test.rb +55 -0
- data/test/fixtures/page_1.rss +125 -0
- data/test/fixtures/page_2.rss +87 -0
- data/test/fixtures/rockstar.rss +125 -0
- data/test/fixtures.rb +8 -0
- data/test/product_types_test.rb +35 -0
- data/test/query_test.rb +176 -0
- data/test/razsell_test.rb +19 -0
- data/test/results_test.rb +103 -0
- data/test/test_helper.rb +15 -0
- metadata +130 -0
@@ -0,0 +1,103 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class ResultsTest < Test::Unit::TestCase
|
4
|
+
context "parsing the rockstar search" do
|
5
|
+
setup do
|
6
|
+
@results = Razsell::Results.new feed("rockstar")
|
7
|
+
end
|
8
|
+
|
9
|
+
should "have an item_count of 3" do
|
10
|
+
assert_equal 3, @results.item_count
|
11
|
+
end
|
12
|
+
|
13
|
+
should "have 3 itmes" do
|
14
|
+
assert_equal 3, @results.items.length
|
15
|
+
end
|
16
|
+
|
17
|
+
context "first item" do
|
18
|
+
setup do
|
19
|
+
@item = @results.items[0]
|
20
|
+
end
|
21
|
+
|
22
|
+
should "have the correct title" do
|
23
|
+
assert_equal "Ladies Rockstar TShirt", @item.title
|
24
|
+
end
|
25
|
+
|
26
|
+
should "have the correct guid" do
|
27
|
+
assert_equal "http://www.zazzle.com/ladies_rockstar_tshirt-235898004129790991?gl=kungfutees", @item.guid
|
28
|
+
end
|
29
|
+
|
30
|
+
should "have the correct pubDate" do
|
31
|
+
assert_equal DateTime.parse("Sat, 02 May 2009 13:06:08 GMT").to_s, @item.pub_date.to_s
|
32
|
+
end
|
33
|
+
|
34
|
+
should "have the correct link" do
|
35
|
+
assert_equal "http://www.zazzle.com/ladies_rockstar_tshirt-235898004129790991?gl=kungfutees", @item.link
|
36
|
+
end
|
37
|
+
|
38
|
+
should "have the correct author" do
|
39
|
+
assert_equal "kungfutees", @item.author
|
40
|
+
end
|
41
|
+
|
42
|
+
should "have the correct description" do
|
43
|
+
assert_equal "Ladies are Rockstar Coders too!", @item.description
|
44
|
+
end
|
45
|
+
|
46
|
+
should "have the correct thumbnail url" do
|
47
|
+
assert_equal "http://rlv.zcache.com/ladies_rockstar_tshirt-p235898004129790991ojnq_125.jpg", @item.thumbnail_url
|
48
|
+
end
|
49
|
+
|
50
|
+
should "have the correct content url" do
|
51
|
+
assert_equal "http://rlv.zcache.com/ladies_rockstar_tshirt-p235898004129790991ojnq_500.jpg", @item.content_url
|
52
|
+
end
|
53
|
+
|
54
|
+
should "have the correct keywords" do
|
55
|
+
assert_contains @item.keywords, 'rockstar'
|
56
|
+
assert_contains @item.keywords, 'coder'
|
57
|
+
assert_contains @item.keywords, 'ror'
|
58
|
+
assert_contains @item.keywords, 'ruby'
|
59
|
+
assert_contains @item.keywords, 'on'
|
60
|
+
assert_contains @item.keywords, 'rails'
|
61
|
+
end
|
62
|
+
|
63
|
+
should "have the correct rating" do
|
64
|
+
assert_equal "g", @item.rating
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
context "multiple pages" do
|
70
|
+
|
71
|
+
should "know total result count" do
|
72
|
+
results = Razsell::Results.new feed("page_1")
|
73
|
+
assert 5, results.result_count
|
74
|
+
end
|
75
|
+
|
76
|
+
should "know items per page" do
|
77
|
+
results = Razsell::Results.new feed("page_1")
|
78
|
+
assert 3, results.items_per_page
|
79
|
+
end
|
80
|
+
|
81
|
+
should "know if another page exists" do
|
82
|
+
results = Razsell::Results.new feed("page_1")
|
83
|
+
assert results.has_more_pages?
|
84
|
+
end
|
85
|
+
|
86
|
+
should "know if there is only one page" do
|
87
|
+
results = Razsell::Results.new feed("rockstar")
|
88
|
+
assert !results.has_more_pages?
|
89
|
+
end
|
90
|
+
|
91
|
+
should "know if it's on the last page" do
|
92
|
+
results = Razsell::Results.new feed("page_2")
|
93
|
+
assert !results.has_more_pages?
|
94
|
+
end
|
95
|
+
|
96
|
+
should "add additional pages" do
|
97
|
+
results = Razsell::Results.new feed("page_1")
|
98
|
+
assert_equal 3, results.items.length
|
99
|
+
results.add feed("page_2")
|
100
|
+
assert_equal 5, results.items.length
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'test/unit'
|
3
|
+
require 'shoulda'
|
4
|
+
require 'fixtures'
|
5
|
+
|
6
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
8
|
+
require 'razsell'
|
9
|
+
|
10
|
+
require 'mocha'
|
11
|
+
|
12
|
+
class Test::Unit::TestCase
|
13
|
+
include Fixtures
|
14
|
+
end
|
15
|
+
|
metadata
ADDED
@@ -0,0 +1,130 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rubyyot-razsell
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jamal Hansen
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-07-08 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: hpricot
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: cucumber
|
27
|
+
type: :development
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.3.11
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: mocha
|
37
|
+
type: :development
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: "0"
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: technicalpickles-shoulda
|
47
|
+
type: :development
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: "0"
|
54
|
+
version:
|
55
|
+
description:
|
56
|
+
email: jamal.hansen@gmail.com
|
57
|
+
executables: []
|
58
|
+
|
59
|
+
extensions: []
|
60
|
+
|
61
|
+
extra_rdoc_files:
|
62
|
+
- LICENSE
|
63
|
+
- README.rdoc
|
64
|
+
files:
|
65
|
+
- .document
|
66
|
+
- .gitignore
|
67
|
+
- LICENSE
|
68
|
+
- README.rdoc
|
69
|
+
- Rakefile
|
70
|
+
- VERSION
|
71
|
+
- docs/RSSGuide1.02.pdf
|
72
|
+
- features/razsell.feature
|
73
|
+
- features/step_definitions/razsell_steps.rb
|
74
|
+
- features/support/env.rb
|
75
|
+
- features/support/razsell_mixed_in.rb
|
76
|
+
- lib/constants.rb
|
77
|
+
- lib/constants/image_sizes.rb
|
78
|
+
- lib/constants/product_types.rb
|
79
|
+
- lib/constants/sort_methods.rb
|
80
|
+
- lib/constants/sort_periods.rb
|
81
|
+
- lib/engine.rb
|
82
|
+
- lib/http_service.rb
|
83
|
+
- lib/item.rb
|
84
|
+
- lib/query.rb
|
85
|
+
- lib/razsell.rb
|
86
|
+
- lib/results.rb
|
87
|
+
- test/engine_test.rb
|
88
|
+
- test/fixtures.rb
|
89
|
+
- test/fixtures/page_1.rss
|
90
|
+
- test/fixtures/page_2.rss
|
91
|
+
- test/fixtures/rockstar.rss
|
92
|
+
- test/product_types_test.rb
|
93
|
+
- test/query_test.rb
|
94
|
+
- test/razsell_test.rb
|
95
|
+
- test/results_test.rb
|
96
|
+
- test/test_helper.rb
|
97
|
+
has_rdoc: true
|
98
|
+
homepage: http://github.com/rubyyot/razsell
|
99
|
+
post_install_message:
|
100
|
+
rdoc_options:
|
101
|
+
- --charset=UTF-8
|
102
|
+
require_paths:
|
103
|
+
- lib
|
104
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: "0"
|
109
|
+
version:
|
110
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
|
+
requirements:
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: "0"
|
115
|
+
version:
|
116
|
+
requirements: []
|
117
|
+
|
118
|
+
rubyforge_project:
|
119
|
+
rubygems_version: 1.2.0
|
120
|
+
signing_key:
|
121
|
+
specification_version: 2
|
122
|
+
summary: A gem for getting info about products on a website that has a similar name
|
123
|
+
test_files:
|
124
|
+
- test/engine_test.rb
|
125
|
+
- test/fixtures.rb
|
126
|
+
- test/results_test.rb
|
127
|
+
- test/test_helper.rb
|
128
|
+
- test/product_types_test.rb
|
129
|
+
- test/razsell_test.rb
|
130
|
+
- test/query_test.rb
|