docbrown/spec/workers/rate_limit_checker_worker_spec.rb
2020-01-02 08:39:40 -05:00

31 lines
785 B
Ruby

require "rails_helper"
RSpec.describe RateLimitCheckerWorker, type: :worker do
describe "#perform_async" do
it "enqueues a job correctly" do
sidekiq_assert_enqueued_with(job: described_class, args: [1, "test"], queue: "default") do
described_class.perform_async(1, "test")
end
end
end
describe "#perform" do
let(:user) { create(:user) }
let(:service) { PingAdmins }
let(:worker) { subject }
before { allow(service).to receive(:call) }
it "calls a service" do
worker.perform(user.id, "test")
expect(service).to have_received(:call).with(user, "test").once
end
it "does nothing for non-existent user" do
worker.perform(nil, "test")
expect(service).not_to have_received(:call)
end
end
end