diff options
author | Nicholas Shirley <nicholas@reallymy.email> | 2018-02-12 12:29:18 +0100 |
---|---|---|
committer | George Claghorn <george@basecamp.com> | 2018-03-06 13:03:02 -0500 |
commit | f9a5839083e697f0d5aad6d9304cd5f26e2a7a11 (patch) | |
tree | 5d69dc69db87cda7040b61d11aeb4e1787cb32c7 /activestorage/test | |
parent | 40d3fa5dfe01d0e3bd0f6530aba3b4cddfda3969 (diff) | |
download | rails-f9a5839083e697f0d5aad6d9304cd5f26e2a7a11.tar.gz rails-f9a5839083e697f0d5aad6d9304cd5f26e2a7a11.tar.bz2 rails-f9a5839083e697f0d5aad6d9304cd5f26e2a7a11.zip |
Allow selectively purging attached blobs
Diffstat (limited to 'activestorage/test')
-rw-r--r-- | activestorage/test/models/attachments_test.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/activestorage/test/models/attachments_test.rb b/activestorage/test/models/attachments_test.rb index 36e76f2845..29b83eb841 100644 --- a/activestorage/test/models/attachments_test.rb +++ b/activestorage/test/models/attachments_test.rb @@ -418,4 +418,32 @@ class ActiveStorage::AttachmentsTest < ActiveSupport::TestCase @user.destroy assert_not ActiveStorage::Attachment.exists?(record: @user, name: "vlogs") end + + test "selectively purge one attached blob of many" do + first_blob = create_blob(filename: "funky.jpg") + second_blob = create_blob(filename: "wonky.jpg") + attachments = @user.highlights.attach(first_blob, second_blob) + + assert_difference -> { ActiveStorage::Blob.count }, -1 do + @user.highlights.where(id: attachments.first.id).purge + end + + assert_not ActiveStorage::Blob.exists?(key: first_blob.key) + assert ActiveStorage::Blob.exists?(key: second_blob.key) + end + + test "selectively purge one attached blob of many later" do + first_blob = create_blob(filename: "funky.jpg") + second_blob = create_blob(filename: "wonky.jpg") + attachments = @user.highlights.attach(first_blob, second_blob) + + perform_enqueued_jobs do + assert_difference -> { ActiveStorage::Blob.count }, -1 do + @user.highlights.where(id: attachments.first.id).purge_later + end + end + + assert_not ActiveStorage::Blob.exists?(key: first_blob.key) + assert ActiveStorage::Blob.exists?(key: second_blob.key) + end end |