diff options
Diffstat (limited to 'spec/workers/packages/cleanup_package_file_worker_spec.rb')
-rw-r--r-- | spec/workers/packages/cleanup_package_file_worker_spec.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/spec/workers/packages/cleanup_package_file_worker_spec.rb b/spec/workers/packages/cleanup_package_file_worker_spec.rb index b423c4d3f06..33f89826312 100644 --- a/spec/workers/packages/cleanup_package_file_worker_spec.rb +++ b/spec/workers/packages/cleanup_package_file_worker_spec.rb @@ -23,6 +23,7 @@ RSpec.describe Packages::CleanupPackageFileWorker do expect(worker).to receive(:log_extra_metadata_on_done).twice expect { subject }.to change { Packages::PackageFile.count }.by(-1) + .and not_change { Packages::Package.count } end end @@ -38,6 +39,17 @@ RSpec.describe Packages::CleanupPackageFileWorker do expect(package_file.reload).to be_error end end + + context 'removing the last package file' do + let_it_be(:package_file) { create(:package_file, :pending_destruction, package: package) } + + it 'deletes the package file and the package' do + expect(worker).to receive(:log_extra_metadata_on_done).twice + + expect { subject }.to change { Packages::PackageFile.count }.by(-1) + .and change { Packages::Package.count }.by(-1) + end + end end describe '#max_running_jobs' do |