summaryrefslogtreecommitdiff
path: root/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb')
-rw-r--r--spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb b/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb
index bace570e47a..3abe545db59 100644
--- a/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb
+++ b/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb
@@ -379,6 +379,26 @@ RSpec.shared_examples 'process nuget search request' do |user_type, status, add_
end
end
+RSpec.shared_examples 'process empty nuget search request' do |user_type, status, add_member = true|
+ before do
+ target.send("add_#{user_type}", user) if add_member && user_type != :anonymous
+ end
+
+ it_behaves_like 'returning response status', status
+
+ it 'returns a valid json response' do
+ subject
+
+ expect(response.media_type).to eq('application/json')
+ expect(json_response).to be_a(Hash)
+ expect(json_response).to match_schema('public_api/v4/packages/nuget/search')
+ expect(json_response['totalHits']).to eq(0)
+ expect(json_response['data'].map { |e| e['versions'].size }).to be_empty
+ end
+
+ it_behaves_like 'a package tracking event', 'API::NugetPackages', 'search_package'
+end
+
RSpec.shared_examples 'rejects nuget access with invalid target id' do
context 'with a target id with invalid integers' do
using RSpec::Parameterized::TableSyntax