Sha256: 17077a1ae93dc2f68eaeb2256da08211cbca4ade1f6a610aa5627d27c3f48d4e
Contents?: true
Size: 1.99 KB
Versions: 6
Compression:
Stored size: 1.99 KB
Contents
require 'test_helper' class SearchableTest < ActiveSupport::TestCase context 'Update search text on save' do should 'update name' do model = NameSearchable.new assert model.save assert_equal 'name', model.search_text end should 'update text' do model = NameEmailSearchable.new assert model.save assert_equal 'name email@abc.com', model.search_text end should 'update text handle nil values' do model = NameEmailCodeSearchable.new assert model.save assert_equal 'name email@abc.com', model.search_text end should 'update text with code' do model = NameEmailCodeSearchable.new model.code = 'FOOBar' assert model.save assert_equal 'name email@abc.com foobar', model.search_text end end context 'search for items' do should 'update text' do NameEmailSearchable.create NameEmailSearchable.create NameEmailSearchable.create model = NameEmailSearchable.new model.name = 'defJKL' assert model.save assert_not_nil model assert_equal 'defjkl email@abc.com', model.search_text assert_equal 1, NameEmailSearchable.matching_search_text('defjkl').count end should 'return sort order' do assert_equal [['name', 1], ['email', 1]], NameEmailSearchable.sort_order end end end class NameSearchable include Mongoid::Document include SearchAble field :name, type: String, default: 'Name' field :email, type: String, default: 'email@abc.com' end class NameEmailSearchable include Mongoid::Document include SearchAble field :name, type: String, default: 'Name' field :email, type: String, default: 'email@abc.com' def search_fields %w[name email] end end class NameEmailCodeSearchable include Mongoid::Document include SearchAble field :name, type: String, default: 'Name' field :email, type: String, default: 'email@abc.com' field :code, type: String private def search_fields %w(name email code) end end
Version data entries
6 entries across 6 versions & 1 rubygems