Sha256: 4cfb1223f83b28b98e3df6a4df24370013de578a950569e71ca0a47f506c018c

Contents?: true

Size: 1002 Bytes

Versions: 5

Compression:

Stored size: 1002 Bytes

Contents

require 'action_mailer'
require 'action_mailer/ar_mailer'
require 'rubygems'
require 'minitest/autorun'

##
# Pretend mailer

class Mailer < ActionMailer::ARMailer

  def mail
    @mail = Object.new
    def @mail.encoded() 'email' end
    def @mail.from() ['nobody@example.com'] end
    def @mail.destinations() %w[user1@example.com user2@example.com] end
  end

end

class TestARMailer < MiniTest::Unit::TestCase

  def setup
    Mailer.email_class = Email

    Email.records.clear
    Mail.records.clear
  end

  def test_self_email_class_equals
    Mailer.email_class = Mail

    Mailer.deliver_mail

    assert_equal 2, Mail.records.length
  end

  def test_perform_delivery_activerecord
    Mailer.deliver_mail

    assert_equal 2, Email.records.length

    record = Email.records.first
    assert_equal 'email', record.mail
    assert_equal 'user1@example.com', record.to
    assert_equal 'nobody@example.com', record.from

    assert_equal 'user2@example.com', Email.records.last.to
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ar_mailer-1.5.1 test/test_armailer.rb
ar_mailer-1.5.0 test/test_armailer.rb
ar_mailer-1.4.0 test/test_armailer.rb
ar_mailer-1.3.3 test/test_armailer.rb
ar_mailer-1.3.2 test/test_armailer.rb