summaryrefslogtreecommitdiff
path: root/spec/workers/packages/cleanup_package_file_worker_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/workers/packages/cleanup_package_file_worker_spec.rb')
-rw-r--r--spec/workers/packages/cleanup_package_file_worker_spec.rb12
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