Sha256: d3233051bfe3dee0998f639561eb2dfa711339e861b239af2e7de09093a7c37e

Contents?: true

Size: 1.3 KB

Versions: 22

Compression:

Stored size: 1.3 KB

Contents

require File.expand_path('../test_helper', __FILE__)

class TestObj
  include Backburner::Performable
  ID = 56
  def id; ID; end
  def self.find(id); TestObj.new if id == ID; end
  def foo(state, state2); "bar #{state} #{state2}"; end
  def self.bar(state, state2); "baz #{state} #{state2}"; end
end

describe "Backburner::Performable module" do
  after { ENV["TEST"] = nil }

  describe "for async instance method" do
    it "should invoke worker enqueue" do
      Backburner::Worker.expects(:enqueue).with(TestObj, [56, :foo, true, false], has_entries(:pri => 5000, :queue => "foo"))
      TestObj.new.async(:pri => 5000, :queue => "foo").foo(true, false)
    end
  end # async instance

  describe "for async class method" do
    it "should invoke worker enqueue" do
      Backburner::Worker.expects(:enqueue).with(TestObj, [nil, :bar, true, false], has_entries(:pri => 5000, :queue => "foo"))
      TestObj.async(:pri => 5000, :queue => "foo").bar(true, false)
    end
  end # async class

  describe "for perform class method" do
    it "should work for instance" do
      assert_equal "bar true false", TestObj.perform(TestObj::ID, :foo, true, false)
    end # instance

    it "should work for class level" do
      assert_equal "baz false true", TestObj.perform(nil, :bar, false, true)
    end # class
  end # perform
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
backburner-1.0.0 test/performable_test.rb
backburner-0.4.6 test/performable_test.rb
backburner-0.4.5 test/performable_test.rb
backburner-0.4.4 test/performable_test.rb
backburner-0.4.3 test/performable_test.rb
backburner-0.4.2 test/performable_test.rb
backburner-0.4.1 test/performable_test.rb
backburner-0.4.0 test/performable_test.rb
backburner-0.3.4 test/performable_test.rb
backburner-0.3.3 test/performable_test.rb
backburner-0.3.2 test/performable_test.rb
backburner-0.3.1 test/performable_test.rb
backburner-0.3.0 test/performable_test.rb
backburner-0.2.6 test/performable_test.rb
backburner-0.2.5 test/performable_test.rb
backburner-0.2.0 test/performable_test.rb
backburner-0.1.2 test/performable_test.rb
backburner-0.1.1 test/performable_test.rb
backburner-0.1.0 test/performable_test.rb
backburner-0.0.3 test/performable_test.rb