test/backgrounded/handler/resque_handler_test.rb in backgrounded-0.4.1 vs test/backgrounded/handler/resque_handler_test.rb in backgrounded-0.5.0

- old
+ new

@@ -3,19 +3,30 @@ ActiveRecord::Schema.define(:version => 1) do create_table :users, :force => true do |t| t.column :name, :string end + + create_table :posts, :force => true do |t| + t.column :title, :string + end end class User < ActiveRecord::Base backgrounded :do_stuff def do_stuff end end +class Post < ActiveRecord::Base + backgrounded :do_stuff => {:queue => 'important'} + + def do_stuff + end +end + class ResqueHandlerTest < Test::Unit::TestCase context 'when backgrounded is configured with resque' do setup do Resque.reset! @handler = Backgrounded::Handler::ResqueHandler.new @@ -30,14 +41,30 @@ setup do @user.do_stuff_backgrounded end should "enqueue job to resque" do assert_queued Backgrounded::Handler::ResqueHandler + assert_equal Backgrounded::Handler::ResqueHandler::DEFAULT_QUEUE, Resque.queue_from_class(Backgrounded::Handler::ResqueHandler) end context "running background job" do should "invoke method on user object" do User.any_instance.expects(:do_stuff) Resque.run! + end + end + end + + context 'a persisted object with backgrounded method with options' do + setup do + @post = Post.create + end + context "invoking backgrounded method" do + setup do + @post.do_stuff_backgrounded + end + should "use configured queue" do + assert_equal 'important', Backgrounded::Handler::ResqueHandler.queue + assert_equal 'important', Resque.queue_from_class(Backgrounded::Handler::ResqueHandler) end end end end end