1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
# frozen_string_literal: true
require_relative "../../test_helper"
class ApplicationMailbox < ActionMailbox::Base
routing "replies@example.com" => :replies
end
class RepliesMailbox < ActionMailbox::Base
def process
$processed = mail.subject
end
end
class ActionMailbox::Base::RoutingTest < ActiveSupport::TestCase
setup do
$processed = false
end
test "string routing" do
ApplicationMailbox.route create_inbound_email_from_fixture("welcome.eml")
assert_equal "Discussion: Let's debate these attachments", $processed
end
test "delayed routing" do
perform_enqueued_jobs only: ActionMailbox::RoutingJob do
create_inbound_email_from_fixture "welcome.eml", status: :pending
assert_equal "Discussion: Let's debate these attachments", $processed
end
end
test "mailbox_for" do
inbound_email = create_inbound_email_from_fixture "welcome.eml", status: :pending
assert_equal RepliesMailbox, ApplicationMailbox.mailbox_for(inbound_email)
end
end
|