rails--rails/actionmailer/test/test_case_test.rb

69 lines
1.7 KiB
Ruby

# frozen_string_literal: true
require "abstract_unit"
class TestTestMailer < ActionMailer::Base
end
class ClearTestDeliveriesMixinTest < ActiveSupport::TestCase
include ActionMailer::TestCase::ClearTestDeliveries
def before_setup
ActionMailer::Base.delivery_method, @original_delivery_method = :test, ActionMailer::Base.delivery_method
ActionMailer::Base.deliveries << "better clear me, setup"
super
end
def after_teardown
super
assert_equal [], ActionMailer::Base.deliveries
ActionMailer::Base.delivery_method = @original_delivery_method
end
def test_deliveries_are_cleared_on_setup_and_teardown
assert_equal [], ActionMailer::Base.deliveries
ActionMailer::Base.deliveries << "better clear me, teardown"
end
end
class MailerDeliveriesClearingTest < ActionMailer::TestCase
def before_setup
ActionMailer::Base.deliveries << "better clear me, setup"
super
end
def after_teardown
super
assert_equal [], ActionMailer::Base.deliveries
end
def test_deliveries_are_cleared_on_setup_and_teardown
assert_equal [], ActionMailer::Base.deliveries
ActionMailer::Base.deliveries << "better clear me, teardown"
end
end
class CrazyNameMailerTest < ActionMailer::TestCase
tests TestTestMailer
def test_set_mailer_class_manual
assert_equal TestTestMailer, self.class.mailer_class
end
end
class CrazySymbolNameMailerTest < ActionMailer::TestCase
tests :test_test_mailer
def test_set_mailer_class_manual_using_symbol
assert_equal TestTestMailer, self.class.mailer_class
end
end
class CrazyStringNameMailerTest < ActionMailer::TestCase
tests "test_test_mailer"
def test_set_mailer_class_manual_using_string
assert_equal TestTestMailer, self.class.mailer_class
end
end