diff options
Diffstat (limited to 'spec/finders/projects_finder_spec.rb')
-rw-r--r-- | spec/finders/projects_finder_spec.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/finders/projects_finder_spec.rb b/spec/finders/projects_finder_spec.rb index 21b5b2f6130..d26180bbf94 100644 --- a/spec/finders/projects_finder_spec.rb +++ b/spec/finders/projects_finder_spec.rb @@ -135,6 +135,7 @@ RSpec.describe ProjectsFinder do describe 'filter by tags (deprecated)' do before do + public_project.reload public_project.topic_list = 'foo' public_project.save! end @@ -146,6 +147,7 @@ RSpec.describe ProjectsFinder do describe 'filter by topics' do before do + public_project.reload public_project.topic_list = 'foo, bar' public_project.save! end @@ -188,6 +190,32 @@ RSpec.describe ProjectsFinder do it { is_expected.to eq([public_project]) } end + context 'with anonymous user' do + let(:public_project_2) { create(:project, :public, group: group, name: 'E', path: 'E') } + let(:current_user) { nil } + let(:params) { { search: 'C' } } + + context 'with disable_anonymous_project_search feature flag enabled' do + before do + stub_feature_flags(disable_anonymous_project_search: true) + end + + it 'does not perform search' do + is_expected.to eq([public_project_2, public_project]) + end + end + + context 'with disable_anonymous_project_search feature flag disabled' do + before do + stub_feature_flags(disable_anonymous_project_search: false) + end + + it 'finds one public project' do + is_expected.to eq([public_project]) + end + end + end + describe 'filter by name for backward compatibility' do let(:params) { { name: 'C' } } |