From 4746a50b7e3f8f561b5d8d6a9dab37cbbde73dd9 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Thu, 19 Mar 2020 20:40:40 -0700 Subject: [PATCH] Improved tests --- test/reindex_test.rb | 33 +++++++++------------------------ test/test_helper.rb | 20 ++++++++++++++------ 2 files changed, 23 insertions(+), 30 deletions(-) diff --git a/test/reindex_test.rb b/test/reindex_test.rb index 1cf93f3..b66211f 100644 --- a/test/reindex_test.rb +++ b/test/reindex_test.rb @@ -2,23 +2,17 @@ require_relative "test_helper" class ReindexTest < Minitest::Test def test_record_inline - Searchkick.callbacks(false) do - store_names ["Product A", "Product B"] - end - assert_search "product", [] + store_names ["Product A", "Product B"], reindex: false - product = Product.find_by(name: "Product A") + product = Product.find_by!(name: "Product A") product.reindex(refresh: true) assert_search "product", ["Product A"] end def test_record_async - Searchkick.callbacks(false) do - store_names ["Product A", "Product B"] - end - assert_search "product", [] + store_names ["Product A", "Product B"], reindex: false - product = Product.find_by(name: "Product A") + product = Product.find_by!(name: "Product A") product.reindex(mode: :async) Product.search_index.refresh assert_search "product", ["Product A"] @@ -30,12 +24,9 @@ class ReindexTest < Minitest::Test reindex_queue = Product.searchkick_index.reindex_queue reindex_queue.clear - Searchkick.callbacks(false) do - store_names ["Product A", "Product B"] - end - assert_search "product", [] + store_names ["Product A", "Product B"], reindex: false - product = Product.find_by(name: "Product A") + product = Product.find_by!(name: "Product A") product.reindex(mode: :queue) Product.search_index.refresh assert_search "product", [] @@ -49,9 +40,7 @@ class ReindexTest < Minitest::Test skip if nobrainer? || cequel? store_names ["Product A"] - Searchkick.callbacks(false) do - store_names ["Product B", "Product C"] - end + store_names ["Product B", "Product C"], reindex: false Product.where(name: "Product B").reindex(refresh: true) assert_search "product", ["Product A", "Product B"] end @@ -77,9 +66,7 @@ class ReindexTest < Minitest::Test def test_full_async skip unless defined?(ActiveJob) - Searchkick.callbacks(false) do - store_names ["Product A"] - end + store_names ["Product A"], reindex: false reindex = Product.reindex(async: true) assert_search "product", [], conversions: false @@ -98,9 +85,7 @@ class ReindexTest < Minitest::Test def test_full_async_wait skip unless defined?(ActiveJob) && defined?(Redis) - Searchkick.callbacks(false) do - store_names ["Product A"] - end + store_names ["Product A"], reindex: false capture_io do Product.reindex(async: {wait: true}) diff --git a/test/test_helper.rb b/test/test_helper.rb index 82d8161..8027930 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -71,15 +71,23 @@ class Minitest::Test protected - def store(documents, klass = Product) - documents.shuffle.each do |document| - klass.create!(document) + def store(documents, klass = Product, reindex: true) + if reindex + documents.shuffle.each do |document| + klass.create!(document) + end + klass.searchkick_index.refresh + else + Searchkick.callbacks(false) do + documents.shuffle.each do |document| + klass.create!(document) + end + end end - klass.searchkick_index.refresh end - def store_names(names, klass = Product) - store names.map { |name| {name: name} }, klass + def store_names(names, klass = Product, reindex: true) + store names.map { |name| {name: name} }, klass, reindex: reindex end # no order -- libgit2 0.21.0