Rspec Matcher para trabalhos atrasados

Você já tentou confirmar que um determinado trabalho atrasado seria disparado em rspec?

Agora você pode, com este matcher personalizado:

RSpec :: Matchers.define: iniciar trabalhos atrasados do | * esperado |

 match_for_should do |delayed_jobs|
jobs
= Delayed::Backend::ActiveRecord::Job.all.map do |job|
YAML
.load(job.handler).method_name
end
expected
.any? do |e|
jobs
.include?(e)
end

fim

match_for_should_not do |delayed_jobs|

jobs
= Delayed::Backend::ActiveRecord::Job.all.map do |job|
YAML
.load(job.handler).method_name
end

expected
.none? do |e|
jobs
.include?(e)
end
end

fim

então você pode fazer coisas assim:

object.should_not start_delayed_jobs(:method)