diff options
Diffstat (limited to 'spec/requests/api/npm_group_packages_spec.rb')
-rw-r--r-- | spec/requests/api/npm_group_packages_spec.rb | 43 |
1 files changed, 6 insertions, 37 deletions
diff --git a/spec/requests/api/npm_group_packages_spec.rb b/spec/requests/api/npm_group_packages_spec.rb index fe0bf1d8b46..7fba75b0630 100644 --- a/spec/requests/api/npm_group_packages_spec.rb +++ b/spec/requests/api/npm_group_packages_spec.rb @@ -11,43 +11,12 @@ RSpec.describe API::NpmGroupPackages, feature_category: :package_registry do let(:url) { api("/groups/#{group.id}/-/packages/npm/#{package_name}") } it_behaves_like 'handling get metadata requests', scope: :group - - context 'with a duplicate package name in another project' do + it_behaves_like 'rejects invalid package names' do subject { get(url) } - - before do - group.add_developer(user) - end - - let_it_be(:project2) { create(:project, :public, namespace: namespace) } - let_it_be(:package2) do - create(:npm_package, - project: project2, - name: "@#{group.path}/scoped_package", - version: '1.2.0') - end - - it_behaves_like 'rejects invalid package names' - - it 'includes all matching package versions in the response' do - subject - - expect(json_response['versions'].keys).to match_array([package.version, package2.version]) - end - - context 'with the feature flag disabled' do - before do - stub_feature_flags(npm_allow_packages_in_multiple_projects: false) - end - - it 'returns matching package versions from only one project' do - subject - - expect(json_response['versions'].keys).to match_array([package2.version]) - end - end end + it_behaves_like 'handling get metadata requests for packages in multiple projects' + context 'with mixed group and project visibilities' do subject { get(url, headers: headers) } @@ -162,13 +131,13 @@ RSpec.describe API::NpmGroupPackages, feature_category: :package_registry do end end - describe 'GET /api/v4/packages/npm/-/package/*package_name/dist-tags' do + describe 'GET /api/v4/groups/:id/-/packages/npm/-/package/*package_name/dist-tags' do it_behaves_like 'handling get dist tags requests', scope: :group do let(:url) { api("/groups/#{group.id}/-/packages/npm/-/package/#{package_name}/dist-tags") } end end - describe 'PUT /api/v4/packages/npm/-/package/*package_name/dist-tags/:tag' do + describe 'PUT /api/v4/groups/:id/-/packages/npm/-/package/*package_name/dist-tags/:tag' do it_behaves_like 'handling create dist tag requests', scope: :group do let(:url) { api("/groups/#{group.id}/-/packages/npm/-/package/#{package_name}/dist-tags/#{tag_name}") } end @@ -183,7 +152,7 @@ RSpec.describe API::NpmGroupPackages, feature_category: :package_registry do end end - describe 'DELETE /api/v4/packages/npm/-/package/*package_name/dist-tags/:tag' do + describe 'DELETE /api/v4/groups/:id/-/packages/npm/-/package/*package_name/dist-tags/:tag' do it_behaves_like 'handling delete dist tag requests', scope: :group do let(:url) { api("/groups/#{group.id}/-/packages/npm/-/package/#{package_name}/dist-tags/#{tag_name}") } end |