module ResqueUnitWithoutMock::ResqueAssertions
Public Instance Methods
assert_not_queued(klass, args = nil, &block)
click to toggle source
# File lib/resque_unit_without_mock/resque_assertions.rb, line 13 def assert_not_queued(klass, args = nil, &block) queue_name = Resque.queue_for(klass) queue = Resque.queued(queue_name).map{|x| JSON.parse(x) } assert( !in_queue?(queue, klass, args), "#{klass}#{args ? " with #{args.inspect}" : ""} should not have been queued in #{queue_name}.", ) end
assert_queued(klass, args = nil, &block)
click to toggle source
# File lib/resque_unit_without_mock/resque_assertions.rb, line 4 def assert_queued(klass, args = nil, &block) queue_name = Resque.queue_for(klass) queue = Resque.queued(queue_name).map{|x| JSON.parse(x) } assert( in_queue?(queue, klass, args), "#{klass}#{args ? " with #{args.inspect}" : ""} should have been queued in #{queue_name}: #{queue.inspect}.", ) end
Private Instance Methods
in_queue?(queue, klass, args = nil)
click to toggle source
# File lib/resque_unit_without_mock/resque_assertions.rb, line 24 def in_queue?(queue, klass, args = nil) !matching_jobs(queue, klass, args).empty? end
matching_jobs(queue, klass, args = nil)
click to toggle source
# File lib/resque_unit_without_mock/resque_assertions.rb, line 28 def matching_jobs(queue, klass, args = nil) normalized_args = Resque.decode(Resque.encode(args)) if args queue.select {|e| e["class"] == klass.to_s && (!args || e["args"] == normalized_args )} end