Sha256: fbff23b952698270efdc4a0e021db489d59dd161bdddf6e05d58a73aae9b55e0

Contents?: true

Size: 1.64 KB

Versions: 14

Compression:

Stored size: 1.64 KB

Contents

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

describe 'document removal', :type => :indexer do
  it 'removes an object from the index' do
    session.remove(post)
    connection.should have_delete("Post #{post.id}")
  end

  it 'removes an object by type and id' do
    session.remove_by_id(Post, 1)
    connection.should have_delete('Post 1')
  end

  it 'removes an object by type and id and immediately commits' do
    connection.should_receive(:delete_by_id).with(['Post 1']).ordered
    connection.should_receive(:commit).ordered
    session.remove_by_id!(Post, 1)
  end

  it 'removes an object from the index and immediately commits' do
    connection.should_receive(:delete_by_id).ordered
    connection.should_receive(:commit).ordered
    session.remove!(post)
  end

  it 'removes everything from the index' do
    session.remove_all
    connection.should have_delete_by_query("*:*")
  end

  it 'removes everything from the index and immediately commits' do
    connection.should_receive(:delete_by_query).ordered
    connection.should_receive(:commit).ordered
    session.remove_all!
  end

  it 'removes everything of a given class from the index' do
    session.remove_all(Post)
    connection.should have_delete_by_query("type:Post")
  end

  it 'correctly escapes namespaced classes when removing everything from the index' do
    connection.should_receive(:delete_by_query).with('type:Namespaced\:\:Comment')
    session.remove_all(Namespaced::Comment)
  end

  it 'should remove by query' do
    session.remove(Post) do
      with(:title, 'monkeys')
    end
    connection.should have_delete_by_query("(type:Post AND title_ss:monkeys)")
  end
end

Version data entries

14 entries across 14 versions & 5 rubygems

Version Path
erichummel-sunspot-1.2.1g spec/api/indexer/removal_spec.rb
erichummel-sunspot-1.2.1f spec/api/indexer/removal_spec.rb
erichummel-sunspot-1.2.1b spec/api/indexer/removal_spec.rb
erichummel-sunspot-1.2.1a spec/api/indexer/removal_spec.rb
lisausa-sunspot-1.2.1.1 spec/api/indexer/removal_spec.rb
ruben-sunspot-1.1.4 spec/api/indexer/removal_spec.rb
ruben-sunspot-1.1.3 spec/api/indexer/removal_spec.rb
ruben-sunspot-1.1.2 spec/api/indexer/removal_spec.rb
sunspot-1.2.1 spec/api/indexer/removal_spec.rb
sunspot-1.2.0 spec/api/indexer/removal_spec.rb
ruben-sunspot-1.1.1 spec/api/indexer/removal_spec.rb
ruben-sunspot-1.1.0 spec/api/indexer/removal_spec.rb
nuatt_sunspot-1.1.0.3 spec/api/indexer/removal_spec.rb
sunspot-1.1.0 spec/api/indexer/removal_spec.rb