Sha256: a088b964b3330d652436e57e3ea4bc73d252482b50f5d20508abcf2abceb0455

Contents?: true

Size: 1.17 KB

Versions: 11

Compression:

Stored size: 1.17 KB

Contents

require 'spec_helper'

describe Taskinator::Api, :redis => true do

  describe Taskinator::Api::Processes do

    it { expect(subject).to be_a(::Enumerable) }

    describe "#each" do
      it "does not enumerate when there aren't any processes" do
        block = SpecSupport::Block.new()
        expect(block).to_not receive(:call)
        subject.each(&block)
      end

      it "it enumerates processes" do
        allow_any_instance_of(Process).to receive(:fetch) {}

        base_key = Taskinator::Process.base_key
        Taskinator.redis do |conn|
          conn.multi do
            3.times {|i| conn.sadd("taskinator:#{base_key}", i) }
          end
        end

        block = SpecSupport::Block.new()
        expect(block).to receive(:call).exactly(3).times

        subject.each(&block)
      end
    end

    describe "#size" do
      it { expect(subject.size).to eq(0) }

      it "yields the number of processes" do
        base_key = Taskinator::Process.base_key
        Taskinator.redis do |conn|
          conn.multi do
            3.times {|i| conn.sadd("taskinator:#{base_key}", i) }
          end
        end

        expect(subject.size).to eq(3)
      end
    end
  end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
taskinator-0.0.12 spec/taskinator/api_spec.rb
taskinator-0.0.11 spec/taskinator/api_spec.rb
taskinator-0.0.10 spec/taskinator/api_spec.rb
taskinator-0.0.9 spec/taskinator/api_spec.rb
taskinator-0.0.8 spec/taskinator/api_spec.rb
taskinator-0.0.7 spec/taskinator/api_spec.rb
taskinator-0.0.5 spec/taskinator/api_spec.rb
taskinator-0.0.4 spec/taskinator/api_spec.rb
taskinator-0.0.3 spec/taskinator/api_spec.rb
taskinator-0.0.2 spec/taskinator/api_spec.rb
taskinator-0.0.1 spec/taskinator/api_spec.rb