Sha256: 82def18a6441b8d85f2243c784d33ee80314453542e8a93013d2aebb03ee9b20
Contents?: true
Size: 1.69 KB
Versions: 2
Compression:
Stored size: 1.69 KB
Contents
# frozen_string_literal: true require 'acceptance/spec_helper' describe 'Updates to records in real-time indices', :live => true do it "handles fields with unicode nulls" do product = Product.create! :name => "Widget \u0000" expect(Product.search.first).to eq(product) end unless ENV['DATABASE'] == 'postgresql' it "handles attributes for sortable fields accordingly" do product = Product.create! :name => 'Red Fish' product.update :name => 'Blue Fish' expect(Product.search('blue fish', :indices => ['product_core']).to_a). to eq([product]) end it "handles inserts and updates for namespaced models" do person = Admin::Person.create :name => 'Death' expect(Admin::Person.search('Death').to_a).to eq([person]) person.update :name => 'Mort' expect(Admin::Person.search('Death').to_a).to be_empty expect(Admin::Person.search('Mort').to_a).to eq([person]) end it "can use a direct interface for processing records" do Admin::Person.connection.execute <<~SQL INSERT INTO admin_people (name, created_at, updated_at) VALUES ('Pat', now(), now()); SQL expect(Admin::Person.search('Pat').to_a).to be_empty instance = Admin::Person.find_by(:name => 'Pat') ThinkingSphinx::Processor.new(instance: instance).upsert expect(Admin::Person.search('Pat').to_a).to eq([instance]) Admin::Person.connection.execute <<~SQL UPDATE admin_people SET name = 'Patrick' WHERE name = 'Pat'; SQL expect(Admin::Person.search('Patrick').to_a).to be_empty instance.reload ThinkingSphinx::Processor.new(model: Admin::Person, id: instance.id).upsert expect(Admin::Person.search('Patrick').to_a).to eq([instance]) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
thinking-sphinx-5.5.1 | spec/acceptance/real_time_updates_spec.rb |
thinking-sphinx-5.5.0 | spec/acceptance/real_time_updates_spec.rb |