How do I wirte test to check if job is retried for Oban worker?
# This job will be failed
assert {:error, result} = perform_job(MyWorker, wrong_args)
I can check whether job failed or not
But How can I check if failed job is retried?
# Failed job
my_job = MyWorker.new(wrong_args) |> Oban.insert!()
assert %{failture: 1} = Oban.drain_queue(queue: :my_job)
# How do I check `job.attempts` value?
assert my_job.attempts == 1
And 1 more thing.
If I set with_safety: false
assert %{failture: 10} = Oban.drain_queue(queue: :my_job, with_safety: false)
Why number in failure is changing randomly?