Sha256: 22103c181351c8cea0e748a0f1fb98288fb28a2e6a40ea6774ae54397e6813f5

Contents?: true

Size: 1.18 KB

Versions: 5

Compression:

Stored size: 1.18 KB

Contents

require 'test_helper'
require 'mocha'
require 'mocha/mini_test'

module Dripper
  class MessageTest < ActiveSupport::TestCase

    def setup
      # create the mailer
      User.create(email: "foo@bar.com", username: "foo")
      User.create(email: "foo2@bar.com")
      User.create(email: "foo3@bar.com")

      Dripper.config model: :users do
        dripper mailer: :user_mailer do
          dripper action: :welcome
          dripper action: :newsletter, wait: 1.minutes, scope: -> {has_username} do
            dripper action: :newsletter_2, wait: 1.minutes, scope: -> {week_old}
          end
        end
      end

    end


    def teardown
      Dripper.registry.clear
    end

    test "Config" do
      assert Dripper.registry.count == 3
    end

    test "Integration" do
      msg = mock()
      msg.stubs(:deliver_now)
      msg.stubs(:deliver_later)

      # expect that welcome was called 2x, newsletter called once
      UserMailer.stubs(:welcome)
        .with(instance_of(User))
        .returns(msg)
        .at_least(3)
        .at_most(3)

      UserMailer.stubs(:newsletter)
        .with(instance_of(User))
        .returns(msg)
        .once

      Dripper.execute

    end


  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
dripper_mail-0.0.22 test/models/dripper/message_test.rb
dripper_mail-0.0.21 test/models/dripper/message_test.rb
dripper_mail-0.0.20 test/models/dripper/message_test.rb
dripper_mail-0.0.19 test/models/dripper/message_test.rb
dripper_mail-0.0.18 test/models/dripper/message_test.rb