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:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-05-17 19:05:49 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-05-17 19:05:49 +0300
commit43a25d93ebdabea52f99b05e15b06250cd8f07d7 (patch)
treedceebdc68925362117480a5d672bcff122fb625b /spec/finders/packages
parent20c84b99005abd1c82101dfeff264ac50d2df211 (diff)
Add latest changes from gitlab-org/gitlab@16-0-stable-eev16.0.0-rc42
Diffstat (limited to 'spec/finders/packages')
-rw-r--r--spec/finders/packages/conan/package_finder_spec.rb25
-rw-r--r--spec/finders/packages/group_packages_finder_spec.rb4
-rw-r--r--spec/finders/packages/npm/package_finder_spec.rb8
3 files changed, 33 insertions, 4 deletions
diff --git a/spec/finders/packages/conan/package_finder_spec.rb b/spec/finders/packages/conan/package_finder_spec.rb
index f25a62225a8..787cb256486 100644
--- a/spec/finders/packages/conan/package_finder_spec.rb
+++ b/spec/finders/packages/conan/package_finder_spec.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
require 'spec_helper'
-RSpec.describe ::Packages::Conan::PackageFinder do
+RSpec.describe ::Packages::Conan::PackageFinder, feature_category: :package_registry do
using RSpec::Parameterized::TableSyntax
let_it_be_with_reload(:project) { create(:project) }
@@ -15,7 +15,8 @@ RSpec.describe ::Packages::Conan::PackageFinder do
describe '#execute' do
let(:query) { "#{conan_package.name.split('/').first[0, 3]}%" }
- let(:finder) { described_class.new(user, query: query) }
+ let(:finder) { described_class.new(user, params) }
+ let(:params) { { query: query } }
subject { finder.execute }
@@ -40,7 +41,7 @@ RSpec.describe ::Packages::Conan::PackageFinder do
end
with_them do
- let(:expected_packages) { packages_visible ? [conan_package, conan_package2] : [] }
+ let(:expected_packages) { packages_visible ? [conan_package2, conan_package] : [] }
let(:user) { role == :anonymous ? nil : super() }
before do
@@ -50,5 +51,23 @@ RSpec.describe ::Packages::Conan::PackageFinder do
it { is_expected.to eq(expected_packages) }
end
+
+ context 'with project' do
+ subject { described_class.new(user, params, project: project).execute }
+
+ it { is_expected.to match_array([conan_package2, conan_package]) }
+
+ it 'respects the limit' do
+ stub_const("#{described_class}::MAX_PACKAGES_COUNT", 1)
+
+ expect(subject).to match_array([conan_package2])
+ end
+
+ context 'with a different project' do
+ let_it_be(:project) { private_project }
+
+ it { is_expected.to match_array([private_package]) }
+ end
+ end
end
end
diff --git a/spec/finders/packages/group_packages_finder_spec.rb b/spec/finders/packages/group_packages_finder_spec.rb
index f78a356b13d..e4a944eb837 100644
--- a/spec/finders/packages/group_packages_finder_spec.rb
+++ b/spec/finders/packages/group_packages_finder_spec.rb
@@ -203,7 +203,9 @@ RSpec.describe Packages::GroupPackagesFinder do
end
context 'group has package of all types' do
- package_types.each { |pt| let_it_be("package_#{pt}") { create("#{pt}_package", project: project) } }
+ package_types.each do |pt| # rubocop:disable RSpec/UselessDynamicDefinition
+ let_it_be("package_#{pt}") { create("#{pt}_package", project: project) }
+ end
package_types.each do |package_type|
it_behaves_like 'with package type', package_type
diff --git a/spec/finders/packages/npm/package_finder_spec.rb b/spec/finders/packages/npm/package_finder_spec.rb
index 8c9149a5a2d..e11b33f71e9 100644
--- a/spec/finders/packages/npm/package_finder_spec.rb
+++ b/spec/finders/packages/npm/package_finder_spec.rb
@@ -71,6 +71,14 @@ RSpec.describe ::Packages::Npm::PackageFinder do
context 'enabled' do
it { is_expected.to contain_exactly(package2) }
end
+
+ context 'with npm_allow_packages_in_multiple_projects disabled' do
+ before do
+ stub_feature_flags(npm_allow_packages_in_multiple_projects: false)
+ end
+
+ it { is_expected.to contain_exactly(package2) }
+ end
end
context 'with a project' do