Sha256: 97fa75e506c81a2458e98465cbe5f68077f2400c25b778a3c6e0354467f454cb

Contents?: true

Size: 1.75 KB

Versions: 23

Compression:

Stored size: 1.75 KB

Contents

require_relative "test_helper"

class CallbacksTest < Minitest::Test
  def test_true_create
    Searchkick.callbacks(true) do
      store_names ["Product A", "Product B"]
    end
    Product.searchkick_index.refresh
    assert_search "product", ["Product A", "Product B"]
  end

  def test_false_create
    Searchkick.callbacks(false) do
      store_names ["Product A", "Product B"]
    end
    Product.searchkick_index.refresh
    assert_search "product", []
  end

  def test_bulk_create
    Searchkick.callbacks(:bulk) do
      store_names ["Product A", "Product B"]
    end
    Product.searchkick_index.refresh
    assert_search "product", ["Product A", "Product B"]
  end

  def test_queue
    skip unless defined?(ActiveJob) && defined?(Redis)

    reindex_queue = Product.searchkick_index.reindex_queue
    reindex_queue.clear

    Searchkick.callbacks(:queue) do
      store_names ["Product A", "Product B"]
    end
    Product.searchkick_index.refresh
    assert_search "product", [], load: false, conversions: false
    assert_equal 2, reindex_queue.length

    Searchkick::ProcessQueueJob.perform_later(class_name: "Product")
    Product.searchkick_index.refresh
    assert_search "product", ["Product A", "Product B"], load: false
    assert_equal 0, reindex_queue.length

    Searchkick.callbacks(:queue) do
      Product.where(name: "Product B").destroy_all
      Product.create!(name: "Product C")
    end
    Product.searchkick_index.refresh
    assert_search "product", ["Product A", "Product B"], load: false
    assert_equal 2, reindex_queue.length

    Searchkick::ProcessQueueJob.perform_later(class_name: "Product")
    Product.searchkick_index.refresh
    assert_search "product", ["Product A", "Product C"], load: false
    assert_equal 0, reindex_queue.length
  end
end

Version data entries

23 entries across 23 versions & 3 rubygems

Version Path
searchkick-3.1.0 test/callbacks_test.rb
searchkick-3.0.3 test/callbacks_test.rb
searchkick_evichat-0.0.2 test/callbacks_test.rb
searchkick-3.0.2 test/callbacks_test.rb
searchkick-3.0.1 test/callbacks_test.rb
searchkick-3.0.0 test/callbacks_test.rb
searchkick-2.5.0 test/callbacks_test.rb
searchkick-hooopo-2.4.1 test/callbacks_test.rb
searchkick-hooopo-2.4.0 test/callbacks_test.rb
searchkick-2.4.0 test/callbacks_test.rb
searchkick-hooopo-2.3.5 test/callbacks_test.rb
searchkick-2.3.2 test/callbacks_test.rb
searchkick-hooopo-2.3.4 test/callbacks_test.rb
searchkick-2.3.1 test/callbacks_test.rb
searchkick-hooopo-2.3.3 test/callbacks_test.rb
searchkick-hooopo-2.3.2 test/callbacks_test.rb
searchkick-hooopo-2.3.1 test/callbacks_test.rb
searchkick-hooopo-2.3.0 test/callbacks_test.rb
searchkick-2.3.0 test/callbacks_test.rb
searchkick-2.2.1 test/callbacks_test.rb