From 67ba89a8c7b4c28cb38184ac15bc3c6aa8a20cbf Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson <david@loudthinking.com> Date: Wed, 19 Sep 2018 16:21:53 -0700 Subject: Ensure raw email is created first Otherwise jobs hanging off the InboundEmail won't be able to access the Active Storage data (as it won't have been uploaded yet). --- lib/action_mailroom/test_helper.rb | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'lib/action_mailroom') diff --git a/lib/action_mailroom/test_helper.rb b/lib/action_mailroom/test_helper.rb index 94321ecad3..06a38f75b6 100644 --- a/lib/action_mailroom/test_helper.rb +++ b/lib/action_mailroom/test_helper.rb @@ -3,11 +3,10 @@ module ActionMailroom # Create an InboundEmail record using an eml fixture in the format of message/rfc822 # referenced with +fixture_name+ located in +test/fixtures/files/fixture_name+. def create_inbound_email(fixture_name, status: :processing) - ActionMailroom::InboundEmail.create!(status: status).tap do |inbound_email| - inbound_email.raw_email.attach \ - ActiveStorage::Blob.create_after_upload! \ + raw_email = ActiveStorage::Blob.create_after_upload! \ io: file_fixture(fixture_name).open, filename: fixture_name, content_type: 'message/rfc822' - end - end + + ActionMailroom::InboundEmail.create!(status: status, raw_email: raw_email) + end end end -- cgit v1.2.3