From 88453093d5c74aad489feb34dc9062f55f258dd9 Mon Sep 17 00:00:00 2001 From: Yuichi Takeuchi Date: Sat, 19 Jan 2019 23:28:41 +0900 Subject: Fix that adding attachments lose a body --- .../action_mailbox/inbound_emails_controller.rb | 2 +- .../inbound_emails_controller_test.rb | 23 +++++++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) (limited to 'actionmailbox') 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 @@ -4,6 +4,25 @@ require "test_helper" class Rails::Conductor::ActionMailbox::InboundEmailsControllerTest < ActionDispatch::IntegrationTest test "create inbound email" do + with_rails_env("development") do + assert_difference -> { ActionMailbox::InboundEmail.count }, +1 do + post rails_conductor_inbound_emails_path, params: { + mail: { + from: "Jason Fried ", + to: "Replies ", + 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: { @@ -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 -- cgit v1.2.3