diff options
author | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-09-05 17:27:55 +0200 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-10-04 22:46:49 +0200 |
commit | 28c440045ed001ab6029131ab7c842b390f4e186 (patch) | |
tree | 034a2d3c44e35373b3fb338d37447b16e0f9fef9 | |
parent | 80780018a931ce41047ab62ed7dd6c5f1e28f08b (diff) | |
download | gitlab-ce-28c440045ed001ab6029131ab7c842b390f4e186.tar.gz |
Add pagination for children
-rw-r--r-- | app/controllers/groups_controller.rb | 2 | ||||
-rw-r--r-- | spec/controllers/groups_controller_spec.rb | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index c967488fff4..4f0d1f88e58 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -46,7 +46,6 @@ class GroupsController < Groups::ApplicationController def show @children = GroupChildrenFinder.new(current_user, parent_group: @group, params: params).execute - @children = @children.page(params[:page]) respond_to do |format| @@ -71,6 +70,7 @@ class GroupsController < Groups::ApplicationController end @children = GroupChildrenFinder.new(current_user, parent_group: parent, params: params).execute + @children = @children.page(params[:page]) respond_to do |format| format.json do diff --git a/spec/controllers/groups_controller_spec.rb b/spec/controllers/groups_controller_spec.rb index c96a44d6186..9b4654dc3e4 100644 --- a/spec/controllers/groups_controller_spec.rb +++ b/spec/controllers/groups_controller_spec.rb @@ -466,6 +466,24 @@ describe GroupsController do end end end + + context 'pagination' do + let!(:other_subgroup) { create(:group, :public, parent: group) } + let!(:project) { create(:project, :public, namespace: group) } + let!(:first_page_subgroups) { create_list(:group, Kaminari.config.default_per_page, parent: group) } + + it 'contains all subgroups' do + get :children, id: group.to_param, sort: 'id', format: :json + + expect(assigns(:children)).to contain_exactly(*first_page_subgroups) + end + + it 'contains the project and group on the second page' do + get :children, id: group.to_param, sort: 'id', page: 2, format: :json + + expect(assigns(:children)).to contain_exactly(other_subgroup, project) + end + end end context 'for a POST request' do |