ActiveJob へのキューインの spec
まとめ
ActiveJob::Base.queue_adapter = :test
を使うと、ActiveJob::Base.queue_adapter.enqueued_jobs
にジョブが入るhave_enqueued_job
マッチャーでジョブが入っていることをexpect
する
サンプルコード
it 'enqueues PaymentIntentSuccessedJob' do ActiveJob::Base.queue_adapter = :test event = StripeMock.mock_webhook_event('payment_intent.succeeded', customer: customer.id) expect { post "/webhook", params: event.to_h, as: :json }.to have_enqueued_job(PaymentIntentSuccessedJob).with(event.id) end