summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2017-05-29 13:49:01 +0000
committerDouwe Maan <douwe@gitlab.com>2017-05-29 13:49:01 +0000
commit2fbaf49595090f864b582bcc46aea9f3da2cabfb (patch)
tree32cbb1301f39aed113a82df196f789cda7d83058
parent7faa8fbbf3cb2ebc58a3c7f96d9991feb38605dc (diff)
parent2339bef1bcf77da258b2e07528122ad7a3a48407 (diff)
downloadgitlab-ce-2fbaf49595090f864b582bcc46aea9f3da2cabfb.tar.gz
Merge branch '32977-user-autocomplete-per_page-does-not-work' into 'master'
Resolve "User autocomplete per_page does not work" Closes #32977 See merge request !11742
-rw-r--r--app/controllers/autocomplete_controller.rb2
-rw-r--r--spec/controllers/autocomplete_controller_spec.rb14
2 files changed, 15 insertions, 1 deletions
diff --git a/app/controllers/autocomplete_controller.rb b/app/controllers/autocomplete_controller.rb
index e2f5aa8508e..907717dcb96 100644
--- a/app/controllers/autocomplete_controller.rb
+++ b/app/controllers/autocomplete_controller.rb
@@ -9,7 +9,7 @@ class AutocompleteController < ApplicationController
@users = @users.where.not(id: params[:skip_users]) if params[:skip_users].present?
@users = @users.active
@users = @users.reorder(:name)
- @users = @users.page(params[:page])
+ @users = @users.page(params[:page]).per(params[:per_page])
if params[:todo_filter].present? && current_user
@users = @users.todo_authors(current_user.id, params[:todo_state_filter])
diff --git a/spec/controllers/autocomplete_controller_spec.rb b/spec/controllers/autocomplete_controller_spec.rb
index 7d2f6dd9d0a..412d3643e94 100644
--- a/spec/controllers/autocomplete_controller_spec.rb
+++ b/spec/controllers/autocomplete_controller_spec.rb
@@ -97,6 +97,20 @@ describe AutocompleteController do
it { expect(body.size).to eq User.count }
end
+ context 'limited users per page' do
+ let(:per_page) { 2 }
+
+ before do
+ sign_in(user)
+ get(:users, per_page: per_page)
+ end
+
+ let(:body) { JSON.parse(response.body) }
+
+ it { expect(body).to be_kind_of(Array) }
+ it { expect(body.size).to eq per_page }
+ end
+
context 'unauthenticated user' do
let(:public_project) { create(:project, :public) }
let(:body) { JSON.parse(response.body) }