Sha256: 113b4e2615d94906a692d9fc663ab6275f43321879e4e335157f0ec7dac520c0

Contents?: true

Size: 1.96 KB

Versions: 10

Compression:

Stored size: 1.96 KB

Contents

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

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 ids' do
    session.remove_by_id(Post, 1, 2)
    connection.should have_delete('Post 1', 'Post 2')
  end

  it 'removes an object by type and ids array' do
    session.remove_by_id(Post, [1, 2])
    connection.should have_delete('Post 1', 'Post 2')
  end

  it 'removes an object by type and ids and immediately commits' do
    connection.should_receive(:delete_by_id).with(['Post 1', 'Post 2', 'Post 3']).ordered
    connection.should_receive(:commit).ordered
    session.remove_by_id!(Post, 1, 2, 3)
  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

10 entries across 10 versions & 2 rubygems

Version Path
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/sunspot-2.2.7/spec/api/indexer/removal_spec.rb
sunspot-2.2.7 spec/api/indexer/removal_spec.rb
sunspot-2.2.6 spec/api/indexer/removal_spec.rb
sunspot-2.2.5 spec/api/indexer/removal_spec.rb
sunspot-2.2.4 spec/api/indexer/removal_spec.rb
sunspot-2.2.3 spec/api/indexer/removal_spec.rb
sunspot-2.2.2 spec/api/indexer/removal_spec.rb
sunspot-2.2.1 spec/api/indexer/removal_spec.rb
sunspot-2.2.0 spec/api/indexer/removal_spec.rb
sunspot-2.1.1 spec/api/indexer/removal_spec.rb