add actionmailer test coverage for undefined delivery method
This commit is contained in:
parent
ec43584431
commit
5af7cab02d
|
@ -764,7 +764,7 @@ module ActionMailer
|
|||
m.charset = charset = headers[:charset]
|
||||
|
||||
# Set configure delivery behavior
|
||||
wrap_delivery_behavior!(headers.delete(:delivery_method),headers.delete(:delivery_method_options))
|
||||
wrap_delivery_behavior!(headers.delete(:delivery_method), headers.delete(:delivery_method_options))
|
||||
|
||||
# Assign all headers except parts_order, content_type and body
|
||||
assignable = headers.except(:parts_order, :content_type, :body, :template_name, :template_path)
|
||||
|
|
|
@ -38,8 +38,10 @@ class DefaultsDeliveryMethodsTest < ActiveSupport::TestCase
|
|||
end
|
||||
|
||||
test "default sendmail settings" do
|
||||
settings = {location: '/usr/sbin/sendmail',
|
||||
arguments: '-i -t'}
|
||||
settings = {
|
||||
location: '/usr/sbin/sendmail',
|
||||
arguments: '-i -t'
|
||||
}
|
||||
assert_equal settings, ActionMailer::Base.sendmail_settings
|
||||
end
|
||||
end
|
||||
|
@ -138,13 +140,15 @@ class MailDeliveryTest < ActiveSupport::TestCase
|
|||
end
|
||||
|
||||
test "default delivery options can be overridden per mail instance" do
|
||||
settings = { address: "localhost",
|
||||
port: 25,
|
||||
domain: 'localhost.localdomain',
|
||||
user_name: nil,
|
||||
password: nil,
|
||||
authentication: nil,
|
||||
enable_starttls_auto: true }
|
||||
settings = {
|
||||
address: "localhost",
|
||||
port: 25,
|
||||
domain: 'localhost.localdomain',
|
||||
user_name: nil,
|
||||
password: nil,
|
||||
authentication: nil,
|
||||
enable_starttls_auto: true
|
||||
}
|
||||
assert_equal settings, ActionMailer::Base.smtp_settings
|
||||
overridden_options = {user_name: "overridden", password: "somethingobtuse"}
|
||||
mail_instance = DeliveryMailer.welcome(delivery_method_options: overridden_options)
|
||||
|
@ -164,6 +168,13 @@ class MailDeliveryTest < ActiveSupport::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
test "undefined delivery methods raises errors" do
|
||||
DeliveryMailer.delivery_method = nil
|
||||
assert_raise RuntimeError do
|
||||
DeliveryMailer.welcome.deliver
|
||||
end
|
||||
end
|
||||
|
||||
test "does not perform deliveries if requested" do
|
||||
DeliveryMailer.perform_deliveries = false
|
||||
DeliveryMailer.deliveries.clear
|
||||
|
|
Loading…
Reference in New Issue