From ec8a7a36c09f44c44a21444f632389e7d08166cf Mon Sep 17 00:00:00 2001 From: Bob Van Landuyt Date: Wed, 4 Oct 2017 23:04:47 +0200 Subject: [PATCH] Make sure all ancestors are loaded when searching groups --- app/controllers/concerns/group_tree.rb | 2 +- spec/controllers/concerns/group_tree_spec.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/concerns/group_tree.rb b/app/controllers/concerns/group_tree.rb index c5cf336463a..9104d4a32cf 100644 --- a/app/controllers/concerns/group_tree.rb +++ b/app/controllers/concerns/group_tree.rb @@ -2,7 +2,7 @@ module GroupTree def render_group_tree(groups) if params[:filter].present? @groups = Gitlab::GroupHierarchy.new(groups).all_groups - @groups = @groups.search(params[:filter]) + @groups = Gitlab::GroupHierarchy.new(@groups.search(params[:filter])).base_and_ancestors else # Only show root groups if no parent-id is given @groups = groups.where(parent_id: params[:parent_id]) diff --git a/spec/controllers/concerns/group_tree_spec.rb b/spec/controllers/concerns/group_tree_spec.rb index 5d4fb66b492..2fe041a5ecc 100644 --- a/spec/controllers/concerns/group_tree_spec.rb +++ b/spec/controllers/concerns/group_tree_spec.rb @@ -45,12 +45,12 @@ describe GroupTree do expect(assigns(:groups)).to contain_exactly(subgroup) end - it 'allows filtering for subgroups' do + it 'allows filtering for subgroups and includes the parents for rendering' do subgroup = create(:group, :public, parent: group, name: 'filter') get :index, filter: 'filt', format: :json - expect(assigns(:groups)).to contain_exactly(subgroup) + expect(assigns(:groups)).to contain_exactly(group, subgroup) end end