instance method assert_enqueued_emails

Ruby on Rails 5.2.8.1

Since v5.2.8.1

Available in: v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

assert_enqueued_emails(number, &block)

Asserts that the number of emails enqueued for later delivery matches the given number.

def test_emails
  assert_enqueued_emails 0
  ContactMailer.welcome.deliver_later
  assert_enqueued_emails 1
  ContactMailer.welcome.deliver_later
  assert_enqueued_emails 2
end

If a block is passed, that block should cause the specified number of emails to be enqueued.

def test_emails_again
  assert_enqueued_emails 1 do
    ContactMailer.welcome.deliver_later
  end

  assert_enqueued_emails 2 do
    ContactMailer.welcome.deliver_later
    ContactMailer.welcome.deliver_later
  end
end

Parameters

number req
block block
Source
# File actionmailer/lib/action_mailer/test_helper.rb, line 92
    def assert_enqueued_emails(number, &block)
      assert_enqueued_jobs number, only: [ ActionMailer::DeliveryJob, ActionMailer::Parameterized::DeliveryJob ], &block
    end

Defined in actionmailer/lib/action_mailer/test_helper.rb line 92 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActionMailer::TestHelper

Type at least 2 characters to search.

↑↓ navigate · open · esc close