From b786f065d3fc6b0869f7f485042e8667e71ff66d Mon Sep 17 00:00:00 2001 From: Yves Senn Date: Sat, 29 Sep 2012 22:29:29 +0200 Subject: Do not render views when mail() isn't called. (NullMail refactoring) --- actionmailer/test/base_test.rb | 6 ++++++ actionmailer/test/fixtures/base_mailer/without_mail_call.erb | 1 + actionmailer/test/mailers/base_mailer.rb | 3 +++ 3 files changed, 10 insertions(+) create mode 100644 actionmailer/test/fixtures/base_mailer/without_mail_call.erb (limited to 'actionmailer/test') diff --git a/actionmailer/test/base_test.rb b/actionmailer/test/base_test.rb index 1cb3ce63fe..b30ec2ddc9 100644 --- a/actionmailer/test/base_test.rb +++ b/actionmailer/test/base_test.rb @@ -499,6 +499,12 @@ class BaseTest < ActiveSupport::TestCase end end + test 'the view is not rendered when mail was never called' do + mail = BaseMailer.without_mail_call + assert_equal('', mail.body.to_s.strip) + mail.deliver + end + # Before and After hooks class MyObserver diff --git a/actionmailer/test/fixtures/base_mailer/without_mail_call.erb b/actionmailer/test/fixtures/base_mailer/without_mail_call.erb new file mode 100644 index 0000000000..290379d5fb --- /dev/null +++ b/actionmailer/test/fixtures/base_mailer/without_mail_call.erb @@ -0,0 +1 @@ +<% raise 'the template should not be rendered' %> \ No newline at end of file diff --git a/actionmailer/test/mailers/base_mailer.rb b/actionmailer/test/mailers/base_mailer.rb index f25d9b9aff..52342bc59e 100644 --- a/actionmailer/test/mailers/base_mailer.rb +++ b/actionmailer/test/mailers/base_mailer.rb @@ -115,4 +115,7 @@ class BaseMailer < ActionMailer::Base def email_with_translations mail body: render("email_with_translations", formats: [:html]) end + + def without_mail_call + end end -- cgit v1.2.3