reindex_test.rb
1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
require_relative "test_helper"
class ReindexTest < Minitest::Test
def setup
skip if nobrainer?
super
end
def test_scoped
store_names ["Product A"]
Searchkick.callbacks(false) do
store_names ["Product B", "Product C"]
end
Product.where(name: "Product B").reindex(refresh: true)
assert_search "product", ["Product A", "Product B"]
end
def test_associations
store_names ["Product A"]
store = Store.create!(name: "Test")
Product.create!(name: "Product B", store_id: store.id)
store.products.reindex(refresh: true)
assert_search "product", ["Product A", "Product B"]
end
def test_async
skip unless defined?(ActiveJob) && defined?(ActiveRecord)
Searchkick.callbacks(false) do
store_names ["Product A"]
end
reindex = Product.reindex(async: true)
assert_search "product", []
index = Searchkick::Index.new(reindex[:index_name])
index.refresh
assert_equal 1, index.total_docs
Product.searchkick_index.promote(reindex[:index_name])
assert_search "product", ["Product A"]
end
end