From 7e93b0e74ddd4acf06cf243954abf307e05bb932 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Sun, 20 Feb 2022 15:51:15 -0800 Subject: [PATCH] Moved helpers to separate file [skip ci] --- test/support/helpers.rb | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ test/test_helper.rb | 86 +------------------------------------------------------------------------------------- 2 files changed, 86 insertions(+), 85 deletions(-) create mode 100644 test/support/helpers.rb diff --git a/test/support/helpers.rb b/test/support/helpers.rb new file mode 100644 index 0000000..1f0c4cb --- /dev/null +++ b/test/support/helpers.rb @@ -0,0 +1,85 @@ +class Minitest::Test + def setup + Product.destroy_all + Store.destroy_all + Animal.destroy_all + Speaker.destroy_all + end + + protected + + def store(documents, klass = default_model, 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 + end + + def store_names(names, klass = default_model, reindex: true) + store names.map { |name| {name: name} }, klass, reindex: reindex + end + + # no order + def assert_search(term, expected, options = {}, klass = default_model) + assert_equal expected.sort, klass.search(term, **options).map(&:name).sort + end + + def assert_order(term, expected, options = {}, klass = default_model) + assert_equal expected, klass.search(term, **options).map(&:name) + end + + def assert_equal_scores(term, options = {}, klass = default_model) + assert_equal 1, klass.search(term, **options).hits.map { |a| a["_score"] }.uniq.size + end + + def assert_first(term, expected, options = {}, klass = default_model) + assert_equal expected, klass.search(term, **options).map(&:name).first + end + + def assert_misspellings(term, expected, misspellings = {}, klass = default_model) + options = { + fields: [:name, :color], + misspellings: misspellings + } + assert_search(term, expected, options, klass) + end + + def assert_warns(message) + _, stderr = capture_io do + yield + end + assert_match "[searchkick] WARNING: #{message}", stderr + end + + def with_options(options, klass = default_model) + previous_options = klass.searchkick_options.dup + begin + klass.searchkick_options.merge!(options) + klass.reindex + yield + ensure + klass.searchkick_options.clear + klass.searchkick_options.merge!(previous_options) + end + end + + def activerecord? + defined?(ActiveRecord) + end + + def default_model + Product + end + + def ci? + ENV["CI"] + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb index 7880fb3..692094d 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -65,88 +65,4 @@ Animal.reindex Speaker.reindex Region.reindex -class Minitest::Test - def setup - Product.destroy_all - Store.destroy_all - Animal.destroy_all - Speaker.destroy_all - end - - protected - - def store(documents, klass = default_model, 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 - end - - def store_names(names, klass = default_model, reindex: true) - store names.map { |name| {name: name} }, klass, reindex: reindex - end - - # no order - def assert_search(term, expected, options = {}, klass = default_model) - assert_equal expected.sort, klass.search(term, **options).map(&:name).sort - end - - def assert_order(term, expected, options = {}, klass = default_model) - assert_equal expected, klass.search(term, **options).map(&:name) - end - - def assert_equal_scores(term, options = {}, klass = default_model) - assert_equal 1, klass.search(term, **options).hits.map { |a| a["_score"] }.uniq.size - end - - def assert_first(term, expected, options = {}, klass = default_model) - assert_equal expected, klass.search(term, **options).map(&:name).first - end - - def assert_misspellings(term, expected, misspellings = {}, klass = default_model) - options = { - fields: [:name, :color], - misspellings: misspellings - } - assert_search(term, expected, options, klass) - end - - def assert_warns(message) - _, stderr = capture_io do - yield - end - assert_match "[searchkick] WARNING: #{message}", stderr - end - - def with_options(options, klass = default_model) - previous_options = klass.searchkick_options.dup - begin - klass.searchkick_options.merge!(options) - klass.reindex - yield - ensure - klass.searchkick_options.clear - klass.searchkick_options.merge!(previous_options) - end - end - - def activerecord? - defined?(ActiveRecord) - end - - def default_model - Product - end - - def ci? - ENV["CI"] - end -end +require_relative "support/helpers" -- libgit2 0.21.0