diff options
author | Yuichi Takeuchi <yuichi.takeuchi@takeyuweb.co.jp> | 2019-01-19 23:28:41 +0900 |
---|---|---|
committer | Yuichi Takeuchi <yuichi.takeuchi@takeyuweb.co.jp> | 2019-01-19 23:28:41 +0900 |
commit | 88453093d5c74aad489feb34dc9062f55f258dd9 (patch) | |
tree | 4cd7359dafbb5491576b69812c7e0d47731d13dc /actionmailbox | |
parent | 9608b180bfb36cb459e4aa8d8116a065046e1915 (diff) | |
download | rails-88453093d5c74aad489feb34dc9062f55f258dd9.tar.gz rails-88453093d5c74aad489feb34dc9062f55f258dd9.tar.bz2 rails-88453093d5c74aad489feb34dc9062f55f258dd9.zip |
Fix that adding attachments lose a body
Diffstat (limited to 'actionmailbox')
-rw-r--r-- | actionmailbox/app/controllers/rails/conductor/action_mailbox/inbound_emails_controller.rb | 2 | ||||
-rw-r--r-- | actionmailbox/test/controllers/rails/action_mailbox/inbound_emails_controller_test.rb | 23 |
2 files changed, 23 insertions, 2 deletions
diff --git a/actionmailbox/app/controllers/rails/conductor/action_mailbox/inbound_emails_controller.rb b/actionmailbox/app/controllers/rails/conductor/action_mailbox/inbound_emails_controller.rb index 2cde3db8a0..d051dfe665 100644 --- a/actionmailbox/app/controllers/rails/conductor/action_mailbox/inbound_emails_controller.rb +++ b/actionmailbox/app/controllers/rails/conductor/action_mailbox/inbound_emails_controller.rb @@ -22,7 +22,7 @@ module Rails def new_mail Mail.new(params.require(:mail).permit(:from, :to, :cc, :bcc, :in_reply_to, :subject, :body).to_h).tap do |mail| params[:mail][:attachments].to_a.each do |attachment| - mail.attachments[attachment.original_filename] = { filename: attachment.path, content_type: attachment.content_type } + mail.add_file(filename: attachment.path, content: attachment.read) end end end diff --git a/actionmailbox/test/controllers/rails/action_mailbox/inbound_emails_controller_test.rb b/actionmailbox/test/controllers/rails/action_mailbox/inbound_emails_controller_test.rb index 60077d86e2..9da1c04303 100644 --- a/actionmailbox/test/controllers/rails/action_mailbox/inbound_emails_controller_test.rb +++ b/actionmailbox/test/controllers/rails/action_mailbox/inbound_emails_controller_test.rb @@ -12,6 +12,25 @@ class Rails::Conductor::ActionMailbox::InboundEmailsControllerTest < ActionDispa to: "Replies <replies@example.com>", bcc: "", in_reply_to: "<4e6e35f5a38b4_479f13bb90078178@small-app-01.mail>", + subject: "Create", + body: "New Mail" + } + } + end + + assert_equal "New Mail", ActionMailbox::InboundEmail.last.mail.decoded + end + end + + test "create inbound email with attachments" do + with_rails_env("development") do + assert_difference -> { ActionMailbox::InboundEmail.count }, +1 do + post rails_conductor_inbound_emails_path, params: { + mail: { + from: "Jason Fried <jason@37signals.com>", + to: "Replies <replies@example.com>", + bcc: "", + in_reply_to: "<4e6e35f5a38b4_479f13bb90078178@small-app-01.mail>", subject: "Discussion: Let's debate these attachments", body: "Let's talk about these images:", attachments: [fixture_file_upload("files/avatar1.jpeg"), fixture_file_upload("files/avatar2.jpeg")] @@ -19,7 +38,9 @@ class Rails::Conductor::ActionMailbox::InboundEmailsControllerTest < ActionDispa } end - assert_equal 2, ActionMailbox::InboundEmail.last.mail.attachments.size + mail = ActionMailbox::InboundEmail.last.mail + assert_equal 2, mail.attachments.size + assert_equal "Let's talk about these images:", mail.text_part.decoded end end |