Upgraded Rails and RSpec
[monkeycharger.git] / vendor / rails / actionmailer / test / mail_render_test.rb
blob0bd5eafd59166ed0642085512bd057875e3b61c6
1 require "#{File.dirname(__FILE__)}/abstract_unit"
3 class RenderMailer < ActionMailer::Base
4   def inline_template(recipient)
5     recipients recipient
6     subject    "using helpers"
7     from       "tester@example.com"
8     body       render(:inline => "Hello, <%= @world %>", :body => { :world => "Earth" })
9   end
11   def file_template(recipient)
12     recipients recipient
13     subject    "using helpers"
14     from       "tester@example.com"
15     body       render(:file => "signed_up", :body => { :recipient => recipient })
16   end
18   def rxml_template(recipient)
19     recipients recipient
20     subject    "rendering rxml template"
21     from       "tester@example.com"
22   end
23   
24   def included_subtemplate(recipient)
25     recipients recipient
26     subject    "Including another template in the one being rendered"
27     from       "tester@example.com"
28   end
30   def initialize_defaults(method_name)
31     super
32     mailer_name "test_mailer"
33   end
34 end
36 class FirstMailer < ActionMailer::Base
37   def share(recipient)
38     recipients recipient
39     subject    "using helpers"
40     from       "tester@example.com"
41   end
42 end
44 class SecondMailer < ActionMailer::Base
45   def share(recipient)
46     recipients recipient
47     subject    "using helpers"
48     from       "tester@example.com"
49   end
50 end
52 class RenderHelperTest < Test::Unit::TestCase
53   def setup
54     set_delivery_method :test
55     ActionMailer::Base.perform_deliveries = true
56     ActionMailer::Base.deliveries = []
58     @recipient = 'test@localhost'
59   end
61   def teardown
62     restore_delivery_method
63   end
65   def test_inline_template
66     mail = RenderMailer.create_inline_template(@recipient)
67     assert_equal "Hello, Earth", mail.body.strip
68   end
70   def test_file_template
71     mail = RenderMailer.create_file_template(@recipient)
72     assert_equal "Hello there, \n\nMr. test@localhost", mail.body.strip
73   end
75   def test_rxml_template
76     mail = RenderMailer.deliver_rxml_template(@recipient)
77     assert_equal "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<test/>", mail.body.strip
78   end
79   
80   def test_included_subtemplate
81     mail = RenderMailer.deliver_included_subtemplate(@recipient)
82     assert_equal "Hey Ho, let's go!", mail.body.strip
83   end
84 end
86 class FirstSecondHelperTest < Test::Unit::TestCase
87   def setup
88     set_delivery_method :test
89     ActionMailer::Base.perform_deliveries = true
90     ActionMailer::Base.deliveries = []
92     @recipient = 'test@localhost'
93   end
95   def teardown
96     restore_delivery_method
97   end
99   def test_ordering
100     mail = FirstMailer.create_share(@recipient)
101     assert_equal "first mail", mail.body.strip
102     mail = SecondMailer.create_share(@recipient)
103     assert_equal "second mail", mail.body.strip
104     mail = FirstMailer.create_share(@recipient)
105     assert_equal "first mail", mail.body.strip
106     mail = SecondMailer.create_share(@recipient)
107     assert_equal "second mail", mail.body.strip
108   end