From 43a25d93ebdabea52f99b05e15b06250cd8f07d7 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 17 May 2023 16:05:49 +0000 Subject: Add latest changes from gitlab-org/gitlab@16-0-stable-ee --- spec/finders/packages/conan/package_finder_spec.rb | 25 +++++++++++++++++++--- .../finders/packages/group_packages_finder_spec.rb | 4 +++- spec/finders/packages/npm/package_finder_spec.rb | 8 +++++++ 3 files changed, 33 insertions(+), 4 deletions(-) (limited to 'spec/finders/packages') 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 -- cgit v1.2.3