Module: Shoulda::ActionMailer::Assertions

### Home Classes Methods

### In Files

- lib/shoulda/action_mailer/assertions.rb

### Methods

- #assert_did_not_send_email
- #assert_sent_email

### Files

- CONTRIBUTION_GUIDELINES.rdoc
- README.rdoc

### Class/Module Index

Quicksearch

- Shoulda
- Shoulda::ActionController
- Shoulda::ActionController::Macros
- Shoulda::ActionController::Matchers
- Shoulda::ActionMailer
- Shoulda::ActionMailer::Assertions
- Shoulda::ActionMailer::Matchers
- Shoulda::ActiveRecord
- Shoulda::ActiveRecord::Assertions
- Shoulda::ActiveRecord::Helpers
- Shoulda::ActiveRecord::Macros
- Shoulda::ActiveRecord::Matchers
- Shoulda::Assertions
- Shoulda::ClassMethods
- Shoulda::Helpers
- Shoulda::InstanceMethods
- Shoulda::Macros
- ActionController
- Test

No matching classes.

# Shoulda::ActionMailer::Assertions

### Public Instance Methods

assert_did_not_send_email() click to toggle source

Asserts that no ActionMailer mails were delivered

    assert_did_not_send_email

    # File lib/shoulda/action_mailer/assertions.rb, line 33
    def assert_did_not_send_email
      ::ActiveSupport::Deprecation.warn("use: should_not have_sent_email")
      msg = "Sent #{::ActionMailer::Base.deliveries.size} emails.\n"
      ::ActionMailer::Base.deliveries.each { |m| msg << "  '#{m.subject}' sent to #{m.to.to_sentence}\n" }
      assert ::ActionMailer::Base.deliveries.empty?, msg
    end

assert_sent_email() click to toggle source

Asserts that an email was delivered. Can take a block that can further narrow down the types of emails you’re expecting.

    assert_sent_email

Passes if ActionMailer::Base.deliveries has an email

    assert_sent_email do |email|
      email.subject =~ /hi there/ && email.to.include?('none@none.com')
    end

Passes if there is an email with subject containing ‘hi there’ and ‘none@none.com’ as one of the recipients.

    # File lib/shoulda/action_mailer/assertions.rb, line 18
    def assert_sent_email
    ::ActiveSupport::Deprecation.warn("use: should have_sent_email")
      emails = ::ActionMailer::Base.deliveries
      assert !emails.empty?, "No emails were sent"
      if block_given?
        matching_emails = emails.select {|email| yield email }
        assert !matching_emails.empty?, "None of the emails matched."
      end
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.