diff options
Diffstat (limited to 'spec/presenters/packages/npm/package_presenter_spec.rb')
-rw-r--r-- | spec/presenters/packages/npm/package_presenter_spec.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/presenters/packages/npm/package_presenter_spec.rb b/spec/presenters/packages/npm/package_presenter_spec.rb index 3b6dfcd20b8..2308f928c92 100644 --- a/spec/presenters/packages/npm/package_presenter_spec.rb +++ b/spec/presenters/packages/npm/package_presenter_spec.rb @@ -95,6 +95,27 @@ RSpec.describe ::Packages::Npm::PackagePresenter do end end end + + context 'with package files pending destruction' do + let_it_be(:package_file_pending_destruction) { create(:package_file, :pending_destruction, package: package2, file_sha1: 'pending_destruction_sha1') } + + let(:shasums) { subject.values.map { |v| v.dig(:dist, :shasum) } } + + it 'does not return them' do + expect(shasums).not_to include(package_file_pending_destruction.file_sha1) + end + + context 'with packages_installable_package_files disabled' do + before do + stub_feature_flags(packages_installable_package_files: false) + package2.package_files.id_not_in(package_file_pending_destruction.id).delete_all + end + + it 'returns them' do + expect(shasums).to include(package_file_pending_destruction.file_sha1) + end + end + end end describe '#dist_tags' do |