test/test_helper.rb in searchkick-1.3.1 vs test/test_helper.rb in searchkick-1.3.2

- old
+ new

@@ -91,10 +91,16 @@ has_many :products field :name end + class Speaker + include Mongoid::Document + + field :name + end + class Animal include Mongoid::Document field :name end @@ -135,10 +141,17 @@ field :id, type: Object field :name, type: String end + class Speaker + include NoBrainer::Document + + field :id, type: Object + field :name, type: String + end + class Animal include NoBrainer::Document field :id, type: Object field :name, type: String @@ -160,11 +173,11 @@ ActiveRecord::Base.time_zone_aware_attributes = true # migrations ActiveRecord::Base.establish_connection adapter: "sqlite3", database: ":memory:" - ActiveRecord::Base.raise_in_transactional_callbacks = true if ActiveRecord::Base.respond_to?(:raise_in_transactional_callbacks=) + ActiveRecord::Base.raise_in_transactional_callbacks = true if ActiveRecord::VERSION::STRING.start_with?("4.2.") if defined?(Apartment) class Rails def self.env ENV["RACK_ENV"] @@ -219,10 +232,14 @@ ActiveRecord::Migration.create_table :stores do |t| t.string :name end + ActiveRecord::Migration.create_table :speakers do |t| + t.string :name + end + ActiveRecord::Migration.create_table :animals do |t| t.string :name t.string :type end @@ -231,10 +248,13 @@ class Store < ActiveRecord::Base has_many :products end + class Speaker < ActiveRecord::Base + end + class Animal < ActiveRecord::Base end class Dog < Animal end @@ -308,10 +328,24 @@ def search_routing name end end +class Speaker + searchkick \ + conversions: ["conversions_a", "conversions_b"] + + attr_accessor :conversions_a, :conversions_b + + def search_data + serializable_hash.except("id").merge( + conversions_a: conversions_a, + conversions_b: conversions_b, + ) + end +end + class Animal searchkick \ autocomplete: [:name], suggest: [:name], index_name: -> { "#{name.tableize}-#{Date.today.year}" } @@ -323,16 +357,18 @@ Product.reindex # run twice for both index paths Product.create!(name: "Set mapping") Store.reindex Animal.reindex +Speaker.reindex class Minitest::Test def setup Product.destroy_all Store.destroy_all Animal.destroy_all + Speaker.destroy_all end protected def store(documents, klass = Product) @@ -351,9 +387,13 @@ assert_equal expected.sort, klass.search(term, options).map(&:name).sort end def assert_order(term, expected, options = {}, klass = Product) assert_equal expected, klass.search(term, options).map(&:name) + end + + def assert_equal_scores(term, options = {}, klass = Product) + assert_equal 1, klass.search(term, options).hits.map { |a| a['_score'] }.uniq.size end def assert_first(term, expected, options = {}, klass = Product) assert_equal expected, klass.search(term, options).map(&:name).first end