From 0419bc35047a62286961feb6e3e0177c9aa18cfa Mon Sep 17 00:00:00 2001 From: Lachlan Sylvester Date: Mon, 7 Jan 2019 09:05:39 +1100 Subject: [PATCH] add attachments to the new inbound mail --- .../inbound_emails_controller.rb | 6 +++- .../inbound_emails/new.html.erb | 5 +++ .../inbound_emails_controller_test.rb | 34 ++++++++++++++++++ .../test/fixtures/files/avatar1.jpeg | Bin 0 -> 20535 bytes .../test/fixtures/files/avatar2.jpeg | Bin 0 -> 12686 bytes 5 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 actionmailbox/test/controllers/rails/action_mailbox/inbound_emails_controller_test.rb create mode 100644 actionmailbox/test/fixtures/files/avatar1.jpeg create mode 100644 actionmailbox/test/fixtures/files/avatar2.jpeg 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 30d6afe0c0..3537a983ef 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 @@ -20,7 +20,11 @@ module Rails private def new_mail - Mail.new params.require(:mail).permit(:from, :to, :cc, :bcc, :in_reply_to, :subject, :body).to_h + 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 } + end + end end def create_inbound_email(mail) diff --git a/actionmailbox/app/views/rails/conductor/action_mailbox/inbound_emails/new.html.erb b/actionmailbox/app/views/rails/conductor/action_mailbox/inbound_emails/new.html.erb index 7f1ec74496..a3c3d39064 100644 --- a/actionmailbox/app/views/rails/conductor/action_mailbox/inbound_emails/new.html.erb +++ b/actionmailbox/app/views/rails/conductor/action_mailbox/inbound_emails/new.html.erb @@ -38,5 +38,10 @@ <%= form.text_area :body, size: "40x20" %> +
+ <%= form.label :attachments, "Attachments" %>
+ <%= form.file_field :attachments, multiple: true %> +
+ <%= form.submit "Deliver inbound email" %> <% 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 new file mode 100644 index 0000000000..60077d86e2 --- /dev/null +++ b/actionmailbox/test/controllers/rails/action_mailbox/inbound_emails_controller_test.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +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: "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")] + } + } + end + + assert_equal 2, ActionMailbox::InboundEmail.last.mail.attachments.size + end + end + + private + def with_rails_env(env) + old_rails_env = Rails.env + Rails.env = env + yield + ensure + Rails.env = old_rails_env + end +end diff --git a/actionmailbox/test/fixtures/files/avatar1.jpeg b/actionmailbox/test/fixtures/files/avatar1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..31111c3bc9cf2e1a2858474ee8a3162e9db814b9 GIT binary patch literal 20535 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 literal 0 HcmV?d00001