aboutsummaryrefslogtreecommitdiffstats
path: root/lib/action_mailroom/test_helper.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2018-09-18 16:07:06 -0700
committerDavid Heinemeier Hansson <david@loudthinking.com>2018-09-18 16:07:06 -0700
commit4a9b45ce2214573de29eed694e4416d46642244f (patch)
tree59e5627535773b8d0d15ae1867429871fe5df0b3 /lib/action_mailroom/test_helper.rb
parent65a6d525c6ce36acefd4b1918bbc5f14132e7810 (diff)
downloadrails-4a9b45ce2214573de29eed694e4416d46642244f.tar.gz
rails-4a9b45ce2214573de29eed694e4416d46642244f.tar.bz2
rails-4a9b45ce2214573de29eed694e4416d46642244f.zip
Use a test helper to create fixtures rather than rely on them being predefined
Too much hassle to manage all the steps compared to just pointing to an .eml fixture and having it setup for you.
Diffstat (limited to 'lib/action_mailroom/test_helper.rb')
-rw-r--r--lib/action_mailroom/test_helper.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/action_mailroom/test_helper.rb b/lib/action_mailroom/test_helper.rb
new file mode 100644
index 0000000000..af9e3ad559
--- /dev/null
+++ b/lib/action_mailroom/test_helper.rb
@@ -0,0 +1,13 @@
+module ActionMailroom
+ module TestHelper
+ # 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)
+ ActionMailroom::InboundEmail.create!.tap do |inbound_email|
+ inbound_email.raw_email.attach \
+ ActiveStorage::Blob.create_after_upload! \
+ io: file_fixture(fixture_name).open, filename: fixture_name, content_type: 'message/rfc822'
+ end
+ end
+ end
+end