summaryrefslogtreecommitdiff
path: root/spec/finders/projects_finder_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/finders/projects_finder_spec.rb')
-rw-r--r--spec/finders/projects_finder_spec.rb36
1 files changed, 33 insertions, 3 deletions
diff --git a/spec/finders/projects_finder_spec.rb b/spec/finders/projects_finder_spec.rb
index 29b6dc61386..8ae19757c25 100644
--- a/spec/finders/projects_finder_spec.rb
+++ b/spec/finders/projects_finder_spec.rb
@@ -234,10 +234,40 @@ RSpec.describe ProjectsFinder, :do_not_mock_admin_mode do
end
describe 'filter by without_deleted' do
- let(:params) { { without_deleted: true } }
- let!(:pending_delete_project) { create(:project, :public, pending_delete: true) }
+ let_it_be(:pending_delete_project) { create(:project, :public, pending_delete: true) }
- it { is_expected.to match_array([public_project, internal_project]) }
+ let(:params) { { without_deleted: without_deleted } }
+
+ shared_examples 'returns all projects' do
+ it { expect(subject).to include(public_project, internal_project, pending_delete_project) }
+ end
+
+ context 'when without_deleted is true' do
+ let(:without_deleted) { true }
+
+ it 'returns projects that are not pending_delete' do
+ expect(subject).not_to include(pending_delete_project)
+ expect(subject).to include(public_project, internal_project)
+ end
+ end
+
+ context 'when without_deleted is false' do
+ let(:without_deleted) { false }
+
+ it_behaves_like 'returns all projects'
+ end
+
+ context 'when without_deleted is nil' do
+ let(:without_deleted) { nil }
+
+ it_behaves_like 'returns all projects'
+ end
+
+ context 'when without_deleted is not present' do
+ let(:params) { {} }
+
+ it_behaves_like 'returns all projects'
+ end
end
describe 'filter by last_activity_after' do