aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailbox
diff options
context:
space:
mode:
authorYuichi Takeuchi <yuichi.takeuchi@takeyuweb.co.jp>2019-01-19 23:28:41 +0900
committerYuichi Takeuchi <yuichi.takeuchi@takeyuweb.co.jp>2019-01-19 23:28:41 +0900
commit88453093d5c74aad489feb34dc9062f55f258dd9 (patch)
tree4cd7359dafbb5491576b69812c7e0d47731d13dc /actionmailbox
parent9608b180bfb36cb459e4aa8d8116a065046e1915 (diff)
downloadrails-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.rb2
-rw-r--r--actionmailbox/test/controllers/rails/action_mailbox/inbound_emails_controller_test.rb23
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