Commit a1e766d2a6fc621000165966306caa7c34cdd6aa
1 parent
fb2daa76
Exists in
master
and in
29 other branches
ActionItem751: remove the 10 results limit in find_by_contents
Showing
4 changed files
with
35 additions
and
0 deletions
Show diff stats
lib/acts_as_searchable.rb
@@ -9,6 +9,8 @@ class << ActiveRecord::Base | @@ -9,6 +9,8 @@ class << ActiveRecord::Base | ||
9 | if ferret_options[:per_page] | 9 | if ferret_options[:per_page] |
10 | db_options[:per_page] = ferret_options.delete(:per_page) | 10 | db_options[:per_page] = ferret_options.delete(:per_page) |
11 | end | 11 | end |
12 | + | ||
13 | + ferret_options[:limit] = :all | ||
12 | 14 | ||
13 | ids = find_ids_with_ferret(query, ferret_options)[1].map{|r|r[:id].to_i} | 15 | ids = find_ids_with_ferret(query, ferret_options)[1].map{|r|r[:id].to_i} |
14 | if ids.empty? | 16 | if ids.empty? |
test/functional/search_controller_test.rb
@@ -946,6 +946,17 @@ class SearchControllerTest < Test::Unit::TestCase | @@ -946,6 +946,17 @@ class SearchControllerTest < Test::Unit::TestCase | ||
946 | assert_tag :tag => 'h1', :content => 'Communities' | 946 | assert_tag :tag => 'h1', :content => 'Communities' |
947 | end | 947 | end |
948 | 948 | ||
949 | + should 'indicate more than page for total_entries' do | ||
950 | + Enterprise.destroy_all | ||
951 | + ('1'..'20').each do |n| | ||
952 | + Enterprise.create!(:name => 'test ' + n, :identifier => 'test_' + n) | ||
953 | + end | ||
954 | + | ||
955 | + get :index, :query => 'test' | ||
956 | + | ||
957 | + assert_equal 20, assigns(:results)[:enterprises].total_entries | ||
958 | + end | ||
959 | + | ||
949 | ################################################################## | 960 | ################################################################## |
950 | ################################################################## | 961 | ################################################################## |
951 | 962 |
test/unit/environment_finder_test.rb
@@ -311,4 +311,16 @@ class EnvironmentFinderTest < ActiveSupport::TestCase | @@ -311,4 +311,16 @@ class EnvironmentFinderTest < ActiveSupport::TestCase | ||
311 | assert_equal 2, counts[pc2.id] | 311 | assert_equal 2, counts[pc2.id] |
312 | assert_nil counts[pc3.id] | 312 | assert_nil counts[pc3.id] |
313 | end | 313 | end |
314 | + | ||
315 | + should 'should retrieve more than 10 entries' do | ||
316 | + Enterprise.destroy_all | ||
317 | + finder = EnvironmentFinder.new(Environment.default) | ||
318 | + | ||
319 | + ('1'..'20').each do |n| | ||
320 | + Enterprise.create!(:name => 'test ' + n, :identifier => 'test_' + n) | ||
321 | + end | ||
322 | + | ||
323 | + assert_equal 20, finder.find(:enterprises, 'test').total_entries | ||
324 | + end | ||
325 | + | ||
314 | end | 326 | end |
test/unit/environment_test.rb
@@ -434,4 +434,14 @@ class EnvironmentTest < Test::Unit::TestCase | @@ -434,4 +434,14 @@ class EnvironmentTest < Test::Unit::TestCase | ||
434 | assert_equal 'default', Environment.new.layout_template | 434 | assert_equal 'default', Environment.new.layout_template |
435 | end | 435 | end |
436 | 436 | ||
437 | + should 'return more than 10 enterprises by contents' do | ||
438 | + env = Environment.default | ||
439 | + Enterprise.destroy_all | ||
440 | + ('1'..'20').each do |n| | ||
441 | + Enterprise.create!(:name => 'test ' + n, :identifier => 'test_' + n) | ||
442 | + end | ||
443 | + | ||
444 | + assert_equal 20, env.enterprises.find_by_contents('test').total_entries | ||
445 | + end | ||
446 | + | ||
437 | end | 447 | end |