diff options
author | Mikel Lindsaar <raasdnil@gmail.com> | 2010-01-17 12:46:51 +1100 |
---|---|---|
committer | Mikel Lindsaar <raasdnil@gmail.com> | 2010-01-17 12:46:51 +1100 |
commit | 6f663addaa7ed40f1133687d7a2be0958bf0c059 (patch) | |
tree | 7beb7f092c1979d1fd5ea6e7aaaf4f59c2f4abf4 /actionmailer/test/subscriber_test.rb | |
parent | 8834b2612b7ddda70ee6a685eb0063d3daa8e63d (diff) | |
parent | 3e94032227d450d479f511070c51f37f53d0ecc4 (diff) | |
download | rails-6f663addaa7ed40f1133687d7a2be0958bf0c059.tar.gz rails-6f663addaa7ed40f1133687d7a2be0958bf0c059.tar.bz2 rails-6f663addaa7ed40f1133687d7a2be0958bf0c059.zip |
Merge branch 'master' of github.com:lifo/docrails
Diffstat (limited to 'actionmailer/test/subscriber_test.rb')
-rw-r--r-- | actionmailer/test/subscriber_test.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/actionmailer/test/subscriber_test.rb b/actionmailer/test/subscriber_test.rb new file mode 100644 index 0000000000..01a71f481d --- /dev/null +++ b/actionmailer/test/subscriber_test.rb @@ -0,0 +1,53 @@ +require "abstract_unit" +require "rails/subscriber/test_helper" +require "action_mailer/railties/subscriber" + +module SubscriberTest + Rails::Subscriber.add(:action_mailer, ActionMailer::Railties::Subscriber.new) + + class TestMailer < ActionMailer::Base + def basic + recipients "somewhere@example.com" + subject "basic" + from "basic@example.com" + render :text => "Hello world" + end + + def receive(mail) + # Do nothing + end + end + + def set_logger(logger) + ActionMailer::Base.logger = logger + end + + def test_deliver_is_notified + TestMailer.deliver_basic + wait + assert_equal 1, @logger.logged(:info).size + assert_match /Sent mail to somewhere@example.com/, @logger.logged(:info).first + assert_equal 1, @logger.logged(:debug).size + assert_match /Hello world/, @logger.logged(:debug).first + end + + def test_receive_is_notified + fixture = File.read(File.dirname(__FILE__) + "/fixtures/raw_email") + TestMailer.receive(fixture) + wait + assert_equal 1, @logger.logged(:info).size + assert_match /Received mail/, @logger.logged(:info).first + assert_equal 1, @logger.logged(:debug).size + assert_match /Jamis/, @logger.logged(:debug).first + end + + class SyncSubscriberTest < ActionMailer::TestCase + include Rails::Subscriber::SyncTestHelper + include SubscriberTest + end + + class AsyncSubscriberTest < ActionMailer::TestCase + include Rails::Subscriber::AsyncTestHelper + include SubscriberTest + end +end
\ No newline at end of file |