diff options
Diffstat (limited to 'spec/models/packages/package_spec.rb')
-rw-r--r-- | spec/models/packages/package_spec.rb | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/spec/models/packages/package_spec.rb b/spec/models/packages/package_spec.rb index 381b5af117e..e113218e828 100644 --- a/spec/models/packages/package_spec.rb +++ b/spec/models/packages/package_spec.rb @@ -25,6 +25,7 @@ RSpec.describe Packages::Package, type: :model, feature_category: :package_regis it { is_expected.to have_one(:rubygems_metadatum).inverse_of(:package) } it { is_expected.to have_one(:npm_metadatum).inverse_of(:package) } it { is_expected.to have_one(:rpm_metadatum).inverse_of(:package) } + it { is_expected.to have_many(:nuget_symbols).inverse_of(:package) } end describe '.with_debian_codename' do @@ -875,14 +876,6 @@ RSpec.describe Packages::Package, type: :model, feature_category: :package_regis subject { described_class.with_npm_scope('test') } it { is_expected.to contain_exactly(package1) } - - context 'when npm_package_registry_fix_group_path_validation is disabled' do - before do - stub_feature_flags(npm_package_registry_fix_group_path_validation: false) - end - - it { is_expected.to contain_exactly(package1) } - end end describe '.without_nuget_temporary_name' do @@ -1505,4 +1498,38 @@ RSpec.describe Packages::Package, type: :model, feature_category: :package_regis end end end + + describe 'inheritance' do + let_it_be(:project) { create(:project) } + + let(:format) { "" } + let(:package) { create("#{format}_package", project: project) } + let(:package_id) { package.id } + + subject { described_class.find_by(id: package_id).class } + + described_class + .package_types + .keys + .map(&:to_sym) + .each do |package_format| + if described_class.inheritance_column_to_class_map[package_format].nil? + context "for package format #{package_format}" do + let(:format) { package_format } + + it 'maps to Packages::Package' do + is_expected.to eq(described_class) + end + end + else + context "for package format #{package_format}" do + let(:format) { package_format } + + it 'maps to the correct class' do + is_expected.to eq(described_class.inheritance_column_to_class_map[package_format].constantize) + end + end + end + end + end end |