1 require 'abstract_unit'
3 class TestHelperMailer
< ActionMailer
::Base
5 recipients
"test@example.com"
6 from
"tester@example.com"
7 body
render(:inline => "Hello, <%= @world %>", :body => { :world => "Earth" })
11 class TestHelperMailerTest
< ActionMailer
::TestCase
12 def test_setup_sets_right_action_mailer_options
13 assert_equal
:test, ActionMailer
::Base.delivery_method
14 assert ActionMailer
::Base.perform_deliveries
15 assert_equal
[], ActionMailer
::Base.deliveries
18 def test_setup_creates_the_expected_mailer
19 assert
@expected.is_a
?(TMail
::Mail)
20 assert_equal
"1.0", @expected.mime_version
21 assert_equal
"text/plain", @expected.content_type
24 def test_mailer_class_is_correctly_inferred
25 assert_equal TestHelperMailer
, self.class.mailer_class
28 def test_determine_default_mailer_raises_correct_error
29 assert_raises(ActionMailer
::NonInferrableMailerError) do
30 self.class.determine_default_mailer("NotAMailerTest")
34 def test_charset_is_utf_8
35 assert_equal
"utf-8", charset
39 assert_equal
"=?utf-8?Q?=0aasdf=0a?=", encode("\nasdf\n")
42 def test_assert_emails
43 assert_nothing_raised
do
45 TestHelperMailer
.deliver_test
50 def test_repeated_assert_emails_calls
51 assert_nothing_raised
do
53 TestHelperMailer
.deliver_test
57 assert_nothing_raised
do
59 TestHelperMailer
.deliver_test
60 TestHelperMailer
.deliver_test
65 def test_assert_emails_with_no_block
66 assert_nothing_raised
do
67 TestHelperMailer
.deliver_test
71 assert_nothing_raised
do
72 TestHelperMailer
.deliver_test
73 TestHelperMailer
.deliver_test
78 def test_assert_no_emails
79 assert_nothing_raised
do
81 TestHelperMailer
.create_test
86 def test_assert_emails_too_few_sent
87 error
= assert_raises Test
::Unit::AssertionFailedError do
89 TestHelperMailer
.deliver_test
93 assert_match
/2 .* but 1/, error
.message
96 def test_assert_emails_too_many_sent
97 error
= assert_raises Test
::Unit::AssertionFailedError do
99 TestHelperMailer
.deliver_test
100 TestHelperMailer
.deliver_test
104 assert_match
/1 .* but 2/, error
.message
107 def test_assert_no_emails_failure
108 error
= assert_raises Test
::Unit::AssertionFailedError do
110 TestHelperMailer
.deliver_test
114 assert_match
/0 .* but 1/, error
.message
118 class AnotherTestHelperMailerTest
< ActionMailer
::TestCase
119 tests TestHelperMailer
122 @test_var = "a value"
125 def test_setup_shouldnt_conflict_with_mailer_setup
126 assert
@expected.is_a
?(TMail
::Mail)
127 assert_equal
'a value', @test_var