lib/sidekiq-scheduler/testing.rb
require 'sidekiq/testing' module SidekiqScheduler module Worker module ClassMethods alias_method :perform_at_old, :perform_at def perform_at(timestamp, *args) jobs << { 'class' => self.name, 'timestamp' => timestamp.to_i, 'args' => args } true end alias_method :perform_in_old, :perform_in def perform_in(seconds_from_now, *args) timestamp = Time.now + seconds_from_now jobs << { 'class' => self.name, 'timestamp' => timestamp.to_i, 'args' => args } end alias_method :remove_delayed_old, :remove_delayed def remove_delayed(*args) old_jobcount = jobs.size jobs.reject! { |job| job["class"] == self.name && job["args"] == args } old_jobcount - jobs.size end alias_method :remove_delayed_from_timestamp_old, :remove_delayed_from_timestamp def remove_delayed_from_timestamp(timestamp, *args) old_jobcount = jobs.size jobs.reject! { |job| job["class"] == self.name && job["timestamp"] == timestamp.to_i && job["args"] == args } old_jobcount - jobs.size end end end end