aboutsummaryrefslogtreecommitdiffstats
path: root/test/models/attachments_test.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2017-07-24 14:35:36 -0500
committerDavid Heinemeier Hansson <david@loudthinking.com>2017-07-24 14:35:36 -0500
commit3eb8c89c0410fac34aefc8b89b8c6b5901c39415 (patch)
treefeab05c7ed4a9ee67ada5803da2674c27f9172ea /test/models/attachments_test.rb
parent20effee5671d76875c050e3d9e91ff60fa181a91 (diff)
downloadrails-3eb8c89c0410fac34aefc8b89b8c6b5901c39415.tar.gz
rails-3eb8c89c0410fac34aefc8b89b8c6b5901c39415.tar.bz2
rails-3eb8c89c0410fac34aefc8b89b8c6b5901c39415.zip
Fix blob associations
cc @javan
Diffstat (limited to 'test/models/attachments_test.rb')
-rw-r--r--test/models/attachments_test.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/models/attachments_test.rb b/test/models/attachments_test.rb
index eac3cbe680..82256e1f44 100644
--- a/test/models/attachments_test.rb
+++ b/test/models/attachments_test.rb
@@ -30,6 +30,13 @@ class ActiveStorage::AttachmentsTest < ActiveSupport::TestCase
assert_equal "town.jpg", @user.avatar.filename.to_s
end
+ test "access underlying associations of new blob" do
+ @user.avatar.attach create_blob(filename: "funky.jpg")
+ assert_equal @user, @user.avatar_attachment.record
+ assert_equal @user.avatar_attachment.blob, @user.avatar_blob
+ assert_equal "funky.jpg", @user.avatar_attachment.blob.filename.to_s
+ end
+
test "purge attached blob" do
@user.avatar.attach create_blob(filename: "funky.jpg")
avatar_key = @user.avatar.key
@@ -79,6 +86,17 @@ class ActiveStorage::AttachmentsTest < ActiveSupport::TestCase
assert_equal "country.jpg", highlights.second.filename.to_s
end
+ test "access underlying associations of new blobs" do
+ @user.highlights.attach(
+ { io: StringIO.new("STUFF"), filename: "town.jpg", content_type: "image/jpg" },
+ { io: StringIO.new("IT"), filename: "country.jpg", content_type: "image/jpg" })
+
+ assert_equal @user, @user.highlights_attachments.first.record
+ assert_equal @user.highlights_attachments.collect(&:blob).sort, @user.highlights_blobs.sort
+ assert_equal "town.jpg", @user.highlights_attachments.first.blob.filename.to_s
+ end
+
+
test "purge attached blobs" do
@user.highlights.attach create_blob(filename: "funky.jpg"), create_blob(filename: "wonky.jpg")
highlight_keys = @user.highlights.collect(&:key)