54 lines
1.9 KiB
Ruby
54 lines
1.9 KiB
Ruby
require File.dirname(__FILE__) + '/../test_helper'
|
|
|
|
class ActionMailerWithinApplicationTest < Test::Unit::TestCase
|
|
|
|
def test_normal_implicit_template
|
|
m = NotifyMail.create_signup("hello")
|
|
assert m.body =~ /^Signup template from application/
|
|
end
|
|
|
|
def test_action_mailer_can_get_helper
|
|
m = NotifyMail.create_signup('James')
|
|
assert m.body =~ /James/
|
|
assert m.body =~ /semaJ/ # from the helper
|
|
end
|
|
|
|
def test_multipart_mails_with_explicit_templates
|
|
m = NotifyMail.create_multipart
|
|
assert_equal 2, m.parts.length
|
|
assert_equal 'the html part of the email james', m.parts[0].body
|
|
assert_equal 'the plaintext part of the email', m.parts[1].body
|
|
end
|
|
|
|
def test_multipart_mails_with_implicit_templates
|
|
m = NotifyMail.create_implicit_multipart
|
|
assert_equal 2, m.parts.length
|
|
assert_equal 'the implicit plaintext part of the email', m.parts[0].body
|
|
assert_equal 'the implicit html part of the email james', m.parts[1].body
|
|
end
|
|
end
|
|
|
|
|
|
class ActionMailerWithinPluginsTest < Test::Unit::TestCase
|
|
def test_should_be_able_to_create_mails_from_plugin
|
|
m = PluginMail.create_mail_from_plugin("from_plugin")
|
|
assert_equal "from_plugin", m.body
|
|
end
|
|
|
|
def test_should_be_able_to_overload_views_within_the_application
|
|
m = PluginMail.create_mail_from_plugin_with_application_template("from_plugin")
|
|
assert_equal "from_plugin (from application)", m.body
|
|
end
|
|
|
|
def test_should_be_able_to_create_a_multipart_mail_from_within_plugin
|
|
m = PluginMail.create_multipart_from_plugin
|
|
assert_equal 2, m.parts.length
|
|
assert_equal 'html template', m.parts[0].body
|
|
assert_equal 'plain template', m.parts[1].body
|
|
end
|
|
|
|
def test_plugin_mailer_template_overriding
|
|
m = PluginMail.create_multipart_from_plugin_with_application_template
|
|
assert_equal 'plugin mail template loaded from application', m.parts[1].body
|
|
end
|
|
end |