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