Sha256: 5b450bf30d4c8ec1eed2f8704577ff3e13ad929d3e6b3f2ddf538d597ee7848b

Contents?: true

Size: 1.05 KB

Versions: 32

Compression:

Stored size: 1.05 KB

Contents

require File.expand_path('spec_helper', File.dirname(__FILE__))

describe Sunspot::SessionProxy::ShardingSessionProxy do
  before do
    search_session = Sunspot::Session.new
    @sessions = Array.new(2) { Sunspot::Session.new }
    @proxy = Sunspot::SessionProxy::IdShardingSessionProxy.new(search_session, @sessions)
  end

  [:index, :index!, :remove, :remove!].each do |method|
    it "should delegate #{method} to appropriate shard" do
      posts = [Post.new(:id => 2), Post.new(:id => 1)]
      @proxy.sessions[0].should_receive(method).with([posts[0]])
      @proxy.sessions[1].should_receive(method).with([posts[1]])
      @proxy.send(method, posts[0])
      @proxy.send(method, posts[1])
    end
  end

  [:remove_by_id, :remove_by_id!].each do |method|
    it "should delegate #{method} to appropriate session" do
      @proxy.sessions[0].should_receive(method).with(Post, 2)
      @proxy.sessions[1].should_receive(method).with(Post, 1)
      @proxy.send(method, Post, 1)
      @proxy.send(method, Post, 2)
    end
  end

  it_should_behave_like 'session proxy'
end

Version data entries

32 entries across 32 versions & 9 rubygems

Version Path
sunspot-2.1.0 spec/api/session_proxy/id_sharding_session_proxy_spec.rb
sunspot-2.0.0 spec/api/session_proxy/id_sharding_session_proxy_spec.rb
sunspot-2.0.0.pre.130115 spec/api/session_proxy/id_sharding_session_proxy_spec.rb
gojee-sunspot-2.0.5 spec/api/session_proxy/id_sharding_session_proxy_spec.rb
sunspot-2.0.0.pre.120925 spec/api/session_proxy/id_sharding_session_proxy_spec.rb
sunspot_solr-2.0.0.pre.120924 sunspot/spec/api/session_proxy/id_sharding_session_proxy_spec.rb
sunspot_rails-2.0.0.pre.120924 sunspot/spec/api/session_proxy/id_sharding_session_proxy_spec.rb
sunspot-2.0.0.pre.120924 sunspot/spec/api/session_proxy/id_sharding_session_proxy_spec.rb
gojee-sunspot-2.0.4 spec/api/session_proxy/id_sharding_session_proxy_spec.rb
gojee-sunspot-2.0.2 spec/api/session_proxy/id_sharding_session_proxy_spec.rb
sunspot-2.0.0.pre.120720 spec/api/session_proxy/id_sharding_session_proxy_spec.rb
sunspot-1.3.3 spec/api/session_proxy/id_sharding_session_proxy_spec.rb
sunspot-1.3.2 spec/api/session_proxy/id_sharding_session_proxy_spec.rb
sunspot-2.0.0.pre.120417 spec/api/session_proxy/id_sharding_session_proxy_spec.rb
sunspot-2.0.0.pre.120415 spec/api/session_proxy/id_sharding_session_proxy_spec.rb
sunspot-1.3.1 spec/api/session_proxy/id_sharding_session_proxy_spec.rb
erichummel-sunspot-2.0.0.pre.111215d spec/api/session_proxy/id_sharding_session_proxy_spec.rb
erichummel-sunspot-2.0.0.pre.111215c spec/api/session_proxy/id_sharding_session_proxy_spec.rb
erichummel-sunspot-2.0.0.pre.111215b spec/api/session_proxy/id_sharding_session_proxy_spec.rb
erichummel-sunspot-2.0.0.pre.111215a spec/api/session_proxy/id_sharding_session_proxy_spec.rb