Project

General

Profile

Defect #44300 ยป mailer_with_deliveries_enqueue.patch

Vincent Robert, 2026-07-30 17:34

View differences:

app/models/mailer.rb
31 31
  class DeliveryJob < ActionMailer::MailDeliveryJob
32 32
    include Redmine::JobWrapper
33 33

  
34
    # Do not enqueue the job when deliveries are disabled
35
    before_enqueue {throw :abort unless ActionMailer::Base.perform_deliveries}
36

  
34 37
    around_enqueue :keep_current_user
35 38
  end
36 39

  
test/unit/mailer_test.rb
1103 1103
    assert ActionMailer::Base.perform_deliveries
1104 1104
  end
1105 1105

  
1106
  def test_with_deliveries_off_should_not_enqueue_delivery_jobs
1107
    previous_adapter = ActionMailer::MailDeliveryJob.queue_adapter
1108
    ActionMailer::MailDeliveryJob.queue_adapter = :test
1109
    Mailer.with_deliveries false do
1110
      Mailer.test_email(User.find(1)).deliver_later
1111
    end
1112
    assert_empty ActionMailer::MailDeliveryJob.queue_adapter.enqueued_jobs
1113
    assert ActionMailer::Base.deliveries.empty?
1114
  ensure
1115
    ActionMailer::MailDeliveryJob.queue_adapter = previous_adapter
1116
  end
1117

  
1106 1118
  def test_token_for_should_strip_trailing_gt_from_address_with_full_name
1107 1119
    with_settings :mail_from => "Redmine Mailer<no-reply@redmine.org>" do
1108 1120
      assert_match /\Aredmine.issue-\d+\.\d+\.3@redmine.org\z/,
    (1-1/1)