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