diff options
author | Gareth Rees <gareth@mysociety.org> | 2014-10-30 14:58:40 +0000 |
---|---|---|
committer | Gareth Rees <gareth@mysociety.org> | 2014-11-11 16:02:19 +0000 |
commit | a9853bf1a41623df1b84656ce8dac6f01231f2cd (patch) | |
tree | 5271e55fe967aec4fc464d2e9b4eac3ec3fe4387 | |
parent | a4b050e3cf8833b5565cfa581235bae092d056ba (diff) |
RequestController#search_typaahead limit results
Use the per_page parameter to limit the results returned
-rw-r--r-- | app/controllers/request_controller.rb | 4 | ||||
-rw-r--r-- | spec/controllers/request_controller_spec.rb | 11 |
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 |