Reputation: 17538
The rspec-rails
gem has some support for testing ActiveJob
.
Does it provide a way to assert that zero jobs were enqueued?
Rails provides a method called assert_no_enqueued_jobs
but it's a little awkward to use in RSpec, because you have to include ::ActiveJob::TestHelper
.
RSpec.describe BananaController, type: :controller do
include ::ActiveJob::TestHelper
describe "#create" do
context "access denied" do
it "does not enqueue any jobs" do
# ...
assert_no_enqueued_jobs
end
end
end
end
Is there a better way?
Upvotes: 2
Views: 1962
Reputation: 8624
You can try:
expect(ActiveJob::Base.queue_adapter.enqueued_jobs.size).to eq(0)
Upvotes: 1