Sha256: f33701cf180cd67fc11d28768c6ef145585e1669c44d56fbbdd70b554a3d2e00

Contents?: true

Size: 844 Bytes

Versions: 4

Compression:

Stored size: 844 Bytes

Contents

require "spec_helper"
require "sidekiq/delay/strategy"

describe Sidekiq::Delay::Strategy do
  Game = Class.new
  GameWorker = Class.new { include Sidekiq::Delay::Strategy }

  subject(:worker) { GameWorker.new }

  let(:game) { mock "Game", play: nil }
  let(:yml) { YAML.dump([[ Game, 1 ], :play, [ "get lucky", 10, 20 ]]) }

  context "#perfom" do
    before { worker.stub(record: game) }

    it "calls record to find instance" do
      worker.should_receive(:record).with(Game, 1)
      worker.perform(yml)
    end

    it "calls play on instance" do
      game.should_receive(:play).with("get lucky", 10, 20)
      worker.perform(yml)
    end
  end

  context "#record" do
    before { Game.stub(find: game) }

    it "finds an instance at class" do
      Game.should_receive(:find).with(1)
      worker.record(Game, 1)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sidekiq-delay-1.0.4 spec/sidekiq/delay/strategy_spec.rb
sidekiq-delay-1.0.3 spec/sidekiq/delay/strategy_spec.rb
sidekiq-delay-1.0.2 spec/sidekiq/delay/strategy_spec.rb
sidekiq-delay-1.0.1 spec/sidekiq/delay/strategy_spec.rb