Go back Web Development

Enable Sidekiq durring tests

for example when worker need to broadcast update

ok way 🤨  (prone to forget to fake!  resulting in flaky tests)

context "whatever", js: true do
  before { Sidekiq::Testing.inline! }
  after { Sidekiq::Testing.fake! }
  it { MyWorker.perform_async } 
end

good 🙂

it do
  Sidekiq::Testing.inline! do
    MyWorker.perform_async
  end
end


best ! 🤩 RSpec filter

# rails_helper.rb
RSpec.configure do
  #..
  config.around(:example, sidekiq_inline: true) do |ex|
    Sidekiq::Testing.inline!
    ex.run
    Sidekiq::Testing.fake!
  end
  #..
end

# my_spec.rb
it "do stuff", :sidekiq_inline do
  MyWorker.perform_async
end