aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2018-12-06 13:27:45 -0800
committerDavid Heinemeier Hansson <david@loudthinking.com>2018-12-06 13:27:45 -0800
commita1d449e061d163fc0f6cb8c966d9ebf70923b665 (patch)
treee00f20fb882d68523816a38335bf9faff8ca88ea /test
parent70c87ea7709ad550c1feaaf7d3831e85d52c032f (diff)
downloadrails-a1d449e061d163fc0f6cb8c966d9ebf70923b665.tar.gz
rails-a1d449e061d163fc0f6cb8c966d9ebf70923b665.tar.bz2
rails-a1d449e061d163fc0f6cb8c966d9ebf70923b665.zip
Add a :all catch-all route
Diffstat (limited to 'test')
-rw-r--r--test/unit/router_test.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/unit/router_test.rb b/test/unit/router_test.rb
index b8c187f95e..70d39ba6a1 100644
--- a/test/unit/router_test.rb
+++ b/test/unit/router_test.rb
@@ -103,6 +103,23 @@ module ActionMailbox
assert_equal "Nested::FirstMailbox", $processed_by
end
+ test "all as the only route" do
+ @router.add_route :all, to: :first
+ @router.route create_inbound_email_from_mail(to: "replies-class@example.com", subject: "This is a reply")
+ assert_equal "FirstMailbox", $processed_by
+ end
+
+ test "all as the second route" do
+ @router.add_route FirstMailboxAddress.new, to: :first
+ @router.add_route :all, to: :second
+
+ @router.route create_inbound_email_from_mail(to: "replies-class@example.com", subject: "This is a reply")
+ assert_equal "FirstMailbox", $processed_by
+
+ @router.route create_inbound_email_from_mail(to: "elsewhere@example.com", subject: "This is a reply")
+ assert_equal "SecondMailbox", $processed_by
+ end
+
test "missing route" do
assert_raises(ActionMailbox::Router::RoutingError) do
inbound_email = create_inbound_email_from_mail(to: "going-nowhere@example.com", subject: "This is a reply")