aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGareth Rees <gareth@mysociety.org>2014-10-30 14:58:40 +0000
committerGareth Rees <gareth@mysociety.org>2014-11-11 16:02:19 +0000
commita9853bf1a41623df1b84656ce8dac6f01231f2cd (patch)
tree5271e55fe967aec4fc464d2e9b4eac3ec3fe4387
parenta4b050e3cf8833b5565cfa581235bae092d056ba (diff)
RequestController#search_typaahead limit results
Use the per_page parameter to limit the results returned
-rw-r--r--app/controllers/request_controller.rb4
-rw-r--r--spec/controllers/request_controller_spec.rb11
2 files changed, 14 insertions, 1 deletions
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb
index 9f17532b8..346aaf384 100644
--- a/app/controllers/request_controller.rb
+++ b/app/controllers/request_controller.rb
@@ -908,8 +908,10 @@ class RequestController < ApplicationController
@query << "requested_from:#{ params[:requested_from] } "
end
+ @per_page = (params.fetch(:per_page) { 25 }).to_i
+
@query << params[:q]
- @xapian_requests = perform_search_typeahead(@query, InfoRequestEvent)
+ @xapian_requests = perform_search_typeahead(@query, InfoRequestEvent, @per_page)
render :partial => "request/search_ahead"
end
diff --git a/spec/controllers/request_controller_spec.rb b/spec/controllers/request_controller_spec.rb
index ce91f7a83..4d0070470 100644
--- a/spec/controllers/request_controller_spec.rb
+++ b/spec/controllers/request_controller_spec.rb
@@ -2386,6 +2386,17 @@ describe RequestController, "when doing type ahead searches" do
expect(assigns[:query]).to eq('requested_from:dfh boring')
end
+ it 'defaults to 25 results per page' do
+ get :search_typeahead, :q => 'boring'
+ expect(assigns[:per_page]).to eq(25)
+ end
+
+ it 'can limit the number of searches returned' do
+ get :search_typeahead, :q => 'boring', :per_page => '1'
+ expect(assigns[:per_page]).to eq(1)
+ expect(assigns[:xapian_requests].results.size).to eq(1)
+ end
+
end
describe RequestController, "when showing similar requests" do