Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/finders/users_finder_spec.rb')
-rw-r--r--spec/finders/users_finder_spec.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/spec/finders/users_finder_spec.rb b/spec/finders/users_finder_spec.rb
index 2e94ca5757a..e0a9237a79b 100644
--- a/spec/finders/users_finder_spec.rb
+++ b/spec/finders/users_finder_spec.rb
@@ -45,6 +45,46 @@ RSpec.describe UsersFinder do
expect(users).to be_empty
end
+ describe 'minimum character limit for search' do
+ it 'passes use_minimum_char_limit from params' do
+ search_term = normal_user.username[..1]
+ expect(User).to receive(:search)
+ .with(search_term, use_minimum_char_limit: false, with_private_emails: anything)
+ .once.and_call_original
+
+ described_class.new(user, { search: search_term, use_minimum_char_limit: false }).execute
+ end
+
+ it 'allows searching with 2 characters when use_minimum_char_limit is false' do
+ users = described_class
+ .new(user, { search: normal_user.username[..1], use_minimum_char_limit: false })
+ .execute
+
+ expect(users).to include(normal_user)
+ end
+
+ it 'does not allow searching with 2 characters when use_minimum_char_limit is not set' do
+ users = described_class
+ .new(user, search: normal_user.username[..1])
+ .execute
+
+ expect(users).to be_empty
+ end
+
+ context 'when autocomplete_users_use_search_service feature flag is disabled' do
+ before do
+ stub_feature_flags(autocomplete_users_use_search_service: false)
+ end
+
+ it 'does not pass use_minimum_char_limit from params' do
+ search_term = normal_user.username[..1]
+ expect(User).to receive(:search).with(search_term, with_private_emails: anything).once.and_call_original
+
+ described_class.new(user, { search: search_term, use_minimum_char_limit: false }).execute
+ end
+ end
+ end
+
it 'filters by external users' do
users = described_class.new(user, external: true).execute