summaryrefslogtreecommitdiff
path: root/spec/controllers/search_controller_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/controllers/search_controller_spec.rb')
-rw-r--r--spec/controllers/search_controller_spec.rb27
1 files changed, 26 insertions, 1 deletions
diff --git a/spec/controllers/search_controller_spec.rb b/spec/controllers/search_controller_spec.rb
index a54f16ec237..58d34a5e5c1 100644
--- a/spec/controllers/search_controller_spec.rb
+++ b/spec/controllers/search_controller_spec.rb
@@ -290,6 +290,14 @@ RSpec.describe SearchController do
expect(assigns[:search_objects].count).to eq(0)
end
end
+
+ it_behaves_like 'rate limited endpoint', rate_limit_key: :user_email_lookup do
+ let(:current_user) { user }
+
+ def request
+ get(:show, params: { search: 'foo@bar.com', scope: 'users' })
+ end
+ end
end
describe 'GET #count', :aggregate_failures do
@@ -346,6 +354,14 @@ RSpec.describe SearchController do
expect(response).to have_gitlab_http_status(:ok)
expect(json_response).to eq({ 'count' => '0' })
end
+
+ it_behaves_like 'rate limited endpoint', rate_limit_key: :user_email_lookup do
+ let(:current_user) { user }
+
+ def request
+ get(:count, params: { search: 'foo@bar.com', scope: 'users' })
+ end
+ end
end
describe 'GET #autocomplete' do
@@ -358,6 +374,14 @@ RSpec.describe SearchController do
expect(response).to have_gitlab_http_status(:ok)
expect(json_response).to match_array([])
end
+
+ it_behaves_like 'rate limited endpoint', rate_limit_key: :user_email_lookup do
+ let(:current_user) { user }
+
+ def request
+ get(:autocomplete, params: { term: 'foo@bar.com', scope: 'users' })
+ end
+ end
end
describe '#append_info_to_payload' do
@@ -372,9 +396,10 @@ RSpec.describe SearchController do
expect(payload[:metadata]['meta.search.force_search_results']).to eq('true')
expect(payload[:metadata]['meta.search.filters.confidential']).to eq('true')
expect(payload[:metadata]['meta.search.filters.state']).to eq('true')
+ expect(payload[:metadata]['meta.search.project_ids']).to eq(%w(456 789))
end
- get :show, params: { scope: 'issues', search: 'hello world', group_id: '123', project_id: '456', confidential: true, state: true, force_search_results: true }
+ get :show, params: { scope: 'issues', search: 'hello world', group_id: '123', project_id: '456', project_ids: %w(456 789), confidential: true, state: true, force_search_results: true }
end
it 'appends the default scope in meta.search.scope' do