Fix CacheBuster being queued for missing media attachments (#34253)

This commit is contained in:
Claire authored and GitHub committed 2025-03-24 08:58:15 +00:00
1 parent b892b15ba6
commit ef870007e9
2 files changed
+11

No files matched your search

+2
View File
@@ -420,6 +420,8 @@ class MediaAttachment < ApplicationRecord
@paths_to_cache_bust = MediaAttachment.attachment_definitions.keys.flat_map do |attachment_name|
attachment = public_send(attachment_name)
next if attachment.blank?
styles = DEFAULT_STYLES | attachment.styles.keys
styles.map { |style| attachment.url(style) }
end.compact
+9
View File
@@ -302,6 +302,15 @@ RSpec.describe MediaAttachment, :attachment_processing do
.to enqueue_sidekiq_job(CacheBusterWorker).with(original_url)
.and enqueue_sidekiq_job(CacheBusterWorker).with(small_url)
end
context 'with a missing remote attachment' do
let(:media) { Fabricate(:media_attachment, remote_url: 'https://example.com/foo.png', file: nil) }
it 'does not queue CacheBusterWorker jobs' do
expect { media.destroy }
.to_not enqueue_sidekiq_job(CacheBusterWorker)
end
end
end
private