diff --git a/app/finders/group_descendants_finder.rb b/app/finders/group_descendants_finder.rb index 3b891effd0c..33fb1bf0359 100644 --- a/app/finders/group_descendants_finder.rb +++ b/app/finders/group_descendants_finder.rb @@ -6,7 +6,7 @@ class GroupDescendantsFinder def initialize(current_user: nil, parent_group:, params: {}) @current_user = current_user @parent_group = parent_group - @params = params + @params = params.reverse_merge(non_archived: true) end def execute @@ -74,7 +74,7 @@ class GroupDescendantsFinder end def projects_matching_filter - ProjectsFinder.new(current_user: current_user).execute + ProjectsFinder.new(current_user: current_user, params: params).execute .search(params[:filter]) .where(namespace: all_descendant_groups) end diff --git a/spec/finders/group_descendants_finder_spec.rb b/spec/finders/group_descendants_finder_spec.rb index c1268a486cf..77401ba09a2 100644 --- a/spec/finders/group_descendants_finder_spec.rb +++ b/spec/finders/group_descendants_finder_spec.rb @@ -19,6 +19,12 @@ describe GroupDescendantsFinder do expect(finder.execute).to contain_exactly(project) end + it 'does not include archived projects' do + _archived_project = create(:project, :archived, namespace: group) + + expect(finder.execute).to be_empty + end + context 'with a filter' do let(:params) { { filter: 'test' } }