aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/test/base_test.rb
diff options
context:
space:
mode:
authorMikel Lindsaar <raasdnil@gmail.com>2010-01-26 17:08:55 +1100
committerMikel Lindsaar <raasdnil@gmail.com>2010-01-26 17:08:55 +1100
commit0b05acd42439b197f71e168354020393cbf42b4f (patch)
treec4125aa8561a5cba352e811c77b1ea1ecdf523ac /actionmailer/test/base_test.rb
parent64f8c87b1dab9bc9b6324fd6a3d77945f4b62821 (diff)
downloadrails-0b05acd42439b197f71e168354020393cbf42b4f.tar.gz
rails-0b05acd42439b197f71e168354020393cbf42b4f.tar.bz2
rails-0b05acd42439b197f71e168354020393cbf42b4f.zip
Implementing class level :defaults hash, instead of delivers_from et al
Diffstat (limited to 'actionmailer/test/base_test.rb')
-rw-r--r--actionmailer/test/base_test.rb26
1 files changed, 23 insertions, 3 deletions
diff --git a/actionmailer/test/base_test.rb b/actionmailer/test/base_test.rb
index 4b8427fb92..8a54455633 100644
--- a/actionmailer/test/base_test.rb
+++ b/actionmailer/test/base_test.rb
@@ -8,9 +8,18 @@ class BaseTest < ActiveSupport::TestCase
}
class BaseMailer < ActionMailer::Base
- delivers_from 'jose@test.plataformatec.com'
+
+ self.defaults = {:to => 'system@test.lindsaar.net',
+ :from => 'jose@test.plataformatec.com',
+ :reply_to => 'mikel@test.lindsaar.net',
+ :subject => 'Default Subject!'}
+
self.mailer_name = "base_mailer"
+ def empty(hash = {})
+ mail(hash)
+ end
+
def welcome(hash = {})
headers['X-SPAM'] = "Not SPAM"
mail(DEFAULT_HEADERS.merge(hash))
@@ -77,9 +86,19 @@ class BaseTest < ActiveSupport::TestCase
assert_equal(email.subject, 'The first email on new API!')
end
+ test "mail() should pull the defaults from the class if nothing is specified" do
+ email = BaseMailer.empty.deliver
+ assert_equal(['system@test.lindsaar.net'], email.to)
+ assert_equal(['jose@test.plataformatec.com'], email.from)
+ assert_equal(['mikel@test.lindsaar.net'], email.reply_to)
+ assert_equal('Default Subject!', email.subject)
+ end
+
test "mail() with from overwrites the class level default" do
- email = BaseMailer.welcome(:from => 'someone@else.com').deliver
- assert_equal(email.from, ['someone@else.com'])
+ email = BaseMailer.welcome(:from => 'someone@example.com',
+ :to => 'another@example.org').deliver
+ assert_equal(['someone@example.com'], email.from)
+ assert_equal(['another@example.org'], email.to)
end
test "mail() with bcc, cc, content_type, charset, mime_version, reply_to and date" do
@@ -195,6 +214,7 @@ class BaseTest < ActiveSupport::TestCase
end
test "subject gets default from I18n" do
+ BaseMailer.defaults[:subject] = nil
email = BaseMailer.welcome(:subject => nil).deliver
assert_equal "Welcome", email.subject