FIX: Destroy OptimizedImage record even if Upload record is invalid.

This commit is contained in:
Guo Xiang Tan 2019-03-22 16:46:13 +08:00
parent 19c3c25db1
commit 839a54b97b
2 changed files with 13 additions and 1 deletions

View File

@ -130,7 +130,7 @@ class OptimizedImage < ActiveRecord::Base
def destroy
OptimizedImage.transaction do
Discourse.store.remove_optimized_image(self)
Discourse.store.remove_optimized_image(self) if self.upload
super
end
end

View File

@ -330,6 +330,18 @@ describe OptimizedImage do
end
describe '#destroy' do
describe 'when upload_id is no longer valid' do
it 'should still destroy the record' do
image = Fabricate(:optimized_image)
image.upload.delete
image.reload.destroy
expect(OptimizedImage.exists?(id: image.id)).to eq(false)
end
end
end
end
class FakeInternalStore