aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2018-09-19 15:52:16 -0700
committerDavid Heinemeier Hansson <david@loudthinking.com>2018-09-19 15:52:16 -0700
commitda697e84445f8f750b8a7d0fa916f429eda8aae4 (patch)
tree510ad1391fedcdc7a3433ef4af128007fa7fbfa0 /test
parentee6d9545dd69a96ae30fdacf264db83fbaa1e4dd (diff)
downloadrails-da697e84445f8f750b8a7d0fa916f429eda8aae4.tar.gz
rails-da697e84445f8f750b8a7d0fa916f429eda8aae4.tar.bz2
rails-da697e84445f8f750b8a7d0fa916f429eda8aae4.zip
Attach a concrete router to the root mailbox and use it
Don't think this is how it's going to stay. Doesn't feel like the right place for it.
Diffstat (limited to 'test')
-rw-r--r--test/unit/mailbox/routing_test.rb23
-rw-r--r--test/unit/router_test.rb3
2 files changed, 25 insertions, 1 deletions
diff --git a/test/unit/mailbox/routing_test.rb b/test/unit/mailbox/routing_test.rb
new file mode 100644
index 0000000000..bdb670e956
--- /dev/null
+++ b/test/unit/mailbox/routing_test.rb
@@ -0,0 +1,23 @@
+require_relative '../../test_helper'
+
+class ApplicationMailbox < ActionMailroom::Mailbox
+ routing "replies@example.com" => :replies
+end
+
+class RepliesMailbox < ActionMailroom::Mailbox
+ def process
+ $processed = mail.subject
+ end
+end
+
+class ActionMailroom::Mailbox::RoutingTest < ActiveSupport::TestCase
+ setup do
+ $processed = false
+ @inbound_email = create_inbound_email("welcome.eml")
+ end
+
+ test "string routing" do
+ ApplicationMailbox.route @inbound_email
+ assert_equal "Discussion: Let's debate these attachments", $processed
+ end
+end
diff --git a/test/unit/router_test.rb b/test/unit/router_test.rb
index 7dbacbb865..6bfd880b67 100644
--- a/test/unit/router_test.rb
+++ b/test/unit/router_test.rb
@@ -9,7 +9,8 @@ end
module ActionMailroom
class RouterTest < ActiveSupport::TestCase
setup do
- @router = ActionMailroom::Router.new('replies@example.com' => :replies)
+ @router = ActionMailroom::Router.new
+ @router.add_routes('replies@example.com' => :replies)
$processed = false
end