aboutsummaryrefslogtreecommitdiffstats
path: root/test/unit/attachment_test.rb
diff options
context:
space:
mode:
authorJavan Makhmali <javan@javan.us>2018-10-02 13:56:27 -0400
committerJavan Makhmali <javan@javan.us>2018-10-02 13:56:27 -0400
commit8fc09a892284f2692ec21a4632bc74ed48365d57 (patch)
tree3a31a959395f9a2a54e206a063a81367cf01a84f /test/unit/attachment_test.rb
parentdea30ecd0bf4137e8c75976499df3fdddde8f844 (diff)
downloadrails-8fc09a892284f2692ec21a4632bc74ed48365d57.tar.gz
rails-8fc09a892284f2692ec21a4632bc74ed48365d57.tar.bz2
rails-8fc09a892284f2692ec21a4632bc74ed48365d57.zip
Bring some tests over
Diffstat (limited to 'test/unit/attachment_test.rb')
-rw-r--r--test/unit/attachment_test.rb57
1 files changed, 57 insertions, 0 deletions
diff --git a/test/unit/attachment_test.rb b/test/unit/attachment_test.rb
new file mode 100644
index 0000000000..dec2b8244d
--- /dev/null
+++ b/test/unit/attachment_test.rb
@@ -0,0 +1,57 @@
+require 'test_helper'
+
+class ActionText::AttachmentTest < ActiveSupport::TestCase
+ test "from_attachable" do
+ attachment = ActionText::Attachment.from_attachable(attachable, caption: "Captioned")
+ assert_equal attachable, attachment.attachable
+ assert_equal "Captioned", attachment.caption
+ end
+
+ test "proxies missing methods to attachable" do
+ attachable.instance_eval { def proxied; "proxied"; end }
+ attachment = ActionText::Attachment.from_attachable(attachable)
+ assert_equal "proxied", attachment.proxied
+ end
+
+ test "proxies #to_param to attachable" do
+ attachment = ActionText::Attachment.from_attachable(attachable)
+ assert_equal attachable.to_param, attachment.to_param
+ end
+
+ # test "converts to TrixAttachment" do
+ # attachment = attachment_from_html(%Q(<action-text-attachment sgid="#{attachable.attachable_sgid}" caption="Captioned"></action-text-attachment>))
+ #
+ # trix_attachment = attachment.to_trix_attachment
+ # assert_kind_of ActionText::TrixAttachment, trix_attachment
+ #
+ # assert_equal attachable.attachable_sgid, trix_attachment.attributes["sgid"]
+ # assert_equal attachable.attachable_content_type, trix_attachment.attributes["contentType"]
+ # assert_equal attachable.filename.to_s, trix_attachment.attributes["filename"]
+ # assert_equal attachable.byte_size, trix_attachment.attributes["filesize"]
+ # assert_equal "Captioned", trix_attachment.attributes["caption"]
+ #
+ # assert_nil trix_attachment.attributes["content"]
+ # end
+
+ # test "converts to TrixAttachment with content" do
+ # attachment = attachment_from_html(%Q(<action-text-attachment sgid="#{attachable.attachable_sgid}"></action-text-attachment>))
+ #
+ # trix_attachment = attachment.to_trix_attachment
+ # assert_kind_of ActionText::TrixAttachment, trix_attachment
+ #
+ # assert_equal attachable.attachable_sgid, trix_attachment.attributes["sgid"]
+ # assert_equal attachable.attachable_content_type, trix_attachment.attributes["contentType"]
+ #
+ # assert_not_nil attachable.to_trix_content_attachment_partial_path
+ # assert_not_nil trix_attachment.attributes["content"]
+ # end
+
+ private
+ def attachment_from_html(html)
+ ActionText::Content.new(html).attachments.first
+ end
+
+ def attachable
+ @attachment ||= create_file_blob(filename: "racecar.jpg", content_type: "image/jpg")
+ end
+end