Sha256: eb1c37b573968ed9dbdc1a4a6f552ae7f74678643de16537a19f72ae9ef0d6c5

Contents?: true

Size: 1.06 KB

Versions: 3

Compression:

Stored size: 1.06 KB

Contents

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

module Dripper
  class RunTwiceTest < ActiveSupport::TestCase
    require 'dripper'

    def setup
      Dripper.config model: :users do
        dripper mailer: :user_mailer do
          dripper action: :welcome
          dripper action: :newsletter, scope: -> {has_username}
        end
      end

      # create the mailer
      User.create!(email: "foo@bar.com", username: "foo")
      User.create!(email: "foo2@bar.com")
      User.create!(email: "foo3@bar.com")
      # run it once
      Dripper.execute
    end


    def teardown
      Dripper.registry.clear
    end

    test "2nd Run" do

      # make sure it never runs again for the same users
      msg = mock()
      msg.stubs(:deliver_now)

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

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

      Dripper.execute

    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dripper_mail-0.0.3 test/models/dripper/run_twice_test.rb
dripper_mail-0.0.2 test/models/dripper/run_twice_test.rb
dripper_mail-0.0.1 test/models/dripper/run_twice_test.rb