From 2a6bc1263e99060897b53a8c806916d198eab572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Wed, 13 Jan 2010 11:56:11 +0100 Subject: Add subscriber to ActionMailer. --- actionmailer/test/subscriber_test.rb | 53 ++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 actionmailer/test/subscriber_test.rb (limited to 'actionmailer/test/subscriber_test.rb') diff --git a/actionmailer/test/subscriber_test.rb b/actionmailer/test/subscriber_test.rb new file mode 100644 index 0000000000..aab53b385f --- /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_notifier + 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 -- cgit v1.2.3