Commit a1e766d2a6fc621000165966306caa7c34cdd6aa
1 parent
fb2daa76
Exists in
master
and in
28 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 |