Sha256: 8ff182c317521ae4b0b7c2f1d2a95e46ab13e93f456befcdbef2fcb48a892755

Contents?: true

Size: 789 Bytes

Versions: 16

Compression:

Stored size: 789 Bytes

Contents

require 'spec_helper'

describe MockRedis::Future do
  let(:command) { [:get, 'foo'] }
  let(:result)  { 'bar' }
  let(:block)   { ->(value) { value.upcase } }

  before do
    @future = MockRedis::Future.new(command)
    @future2 = MockRedis::Future.new(command, block)
  end

  it 'remembers the command' do
    @future.command.should eq(command)
  end

  it 'raises an error if the value is requested before the result is set' do
    expect { @future.value }.to raise_error(MockRedis::FutureNotReady)
  end

  it 'returns the value after the result has been set' do
    @future.store_result(result)
    @future.value.should eq(result)
  end

  it 'executes the block on the value if block is passed in' do
    @future2.store_result(result)
    @future2.value.should eq('BAR')
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
mock_redis-0.36.0 spec/commands/future_spec.rb
mock_redis-0.35.0 spec/commands/future_spec.rb
mock_redis-0.34.0 spec/commands/future_spec.rb
mock_redis-0.33.0 spec/commands/future_spec.rb
mock_redis-0.32.0 spec/commands/future_spec.rb
mock_redis-0.31.0 spec/commands/future_spec.rb
mock_redis-0.30.0 spec/commands/future_spec.rb
mock_redis-0.29.0 spec/commands/future_spec.rb
mock_redis-0.28.0 spec/commands/future_spec.rb
mock_redis-0.27.3 spec/commands/future_spec.rb
mock_redis-0.27.2 spec/commands/future_spec.rb
mock_redis-0.27.1 spec/commands/future_spec.rb
mock_redis-0.27.0 spec/commands/future_spec.rb
mock_redis-0.26.0 spec/commands/future_spec.rb
mock_redis-0.25.0 spec/commands/future_spec.rb
mock_redis-0.24.0 spec/commands/future_spec.rb