blob: 8cc7bd8810755ccfc236030fb2e6fa5aacceea02 (
plain) (
blame)
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
37
38
39
40
41
42
43
44
45
46
|
require_relative '../test_helper'
class RootMailbox < ActionMailroom::Mailbox
def process
$processed_by = self.class.to_s
$processed_mail = mail
end
end
class FirstMailbox < RootMailbox
end
class SecondMailbox < RootMailbox
end
module ActionMailroom
class RouterTest < ActiveSupport::TestCase
setup do
@router = ActionMailroom::Router.new
$processed_by = $processed_mail = nil
end
test "single string route" do
@router.add_routes("first@example.com" => :first)
inbound_email = create_inbound_email_from_mail(to: "first@example.com", subject: "This is a reply")
@router.route inbound_email
assert_equal "FirstMailbox", $processed_by
assert_equal inbound_email.mail, $processed_mail
end
test "multiple string routes" do
@router.add_routes("first@example.com" => :first, "second@example.com" => :second)
inbound_email = create_inbound_email_from_mail(to: "first@example.com", subject: "This is a reply")
@router.route inbound_email
assert_equal "FirstMailbox", $processed_by
assert_equal inbound_email.mail, $processed_mail
inbound_email = create_inbound_email_from_mail(to: "second@example.com", subject: "This is a reply")
@router.route inbound_email
assert_equal "SecondMailbox", $processed_by
assert_equal inbound_email.mail, $processed_mail
end
end
end
|