From 0f140fe15852b829d22864a2f7664440204ac723 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 18 Sep 2018 16:42:38 -0700 Subject: Add callbacks --- test/unit/mailbox/callbacks_test.rb | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/unit/mailbox/callbacks_test.rb (limited to 'test') diff --git a/test/unit/mailbox/callbacks_test.rb b/test/unit/mailbox/callbacks_test.rb new file mode 100644 index 0000000000..ada6410876 --- /dev/null +++ b/test/unit/mailbox/callbacks_test.rb @@ -0,0 +1,25 @@ +require_relative '../../test_helper' + +class CallbackMailbox < ActionMailroom::Mailbox + before_processing { $before_processing = "Ran that!" } + after_processing { $after_processing = "Ran that too!" } + around_processing ->(r, block) { block.call; $around_processing = "Ran that as well!" } + + def process + $processed = mail.subject + end +end + +class ActionMailroom::Mailbox::CallbacksTest < ActiveSupport::TestCase + setup do + $before_processing = $after_processing = $around_processing = $processed = false + @inbound_email = create_inbound_email("welcome.eml") + end + + test "all callback types" do + CallbackMailbox.receive @inbound_email + assert_equal "Ran that!", $before_processing + assert_equal "Ran that too!", $after_processing + assert_equal "Ran that as well!", $around_processing + end +end -- cgit v1.2.3