test/craigler_search_test.rb in quixoten-craigler-1.0.0 vs test/craigler_search_test.rb in quixoten-craigler-1.1.0
- old
+ new
@@ -28,10 +28,16 @@
assert_nothing_raised() do
Craigler::Search.new('Honda Shadow', :in => :utah)
end
end
+ should "use a default category of :all_for_sale_or_wanted" do
+ search = Craigler::Search.new('Buell', :in => :utah)
+ assert(search.categories == [:all_for_sale_or_wanted],
+ "category was [:#{search.categories.join(", :")}] but should have been [:all_for_sale_or_wanted]")
+ end
+
should "require that the location is valid" do
assert_raises(Craigler::InvalidLocation) do
Craigler::Search.new('Honda Nighthawk', :in => :invalid)
end
end
@@ -43,16 +49,22 @@
end
end
context "fetching search results" do
setup do
- @search = Craigler::Search.new('Honda Shadow', :in => :utah, :only => :motorcycles)
+ @search = Craigler::Search.new('Honda', :in => :utah, :only => :motorcycles, :page_limit => 1)
end
should "return an array of hashes" do
results = @search.results()
assert(results.is_a?(Array), "Array exptected but was #{results.class}")
assert(results.size > 0, "No results were returned")
assert(results.inject(true) {|t,r| t && r.is_a?(Hash)})
+ end
+
+ should "allow us to limit the number of pages searched" do
+ one_page_count = @search.results(:page_limit => 1).size
+ two_page_count = @search.results(:page_limit => 2, :refresh => true).size
+ assert(one_page_count < two_page_count, "#{one_page_count} is not less than #{two_page_count}")
end
end
end