Sha256: bf36aac2ac5ba279d568b561935306ad8dcf3c3dc7009442947093d555e53147

Contents?: true

Size: 1.19 KB

Versions: 2

Compression:

Stored size: 1.19 KB

Contents

require 'acceptance/spec_helper'

describe 'SQL delta indexing', :live => true do
  before :each do
    Sidekiq.redis = { url: "resque://localhost:6379/", namespace: 'test' }
  end

  it "automatically indexes new records" do
    guards = Book.create(
      :title => 'Guards! Guards!', :author => 'Terry Pratchett'
    )
    index

    Book.search('Terry Pratchett').to_a.should == [guards]

    men = Book.create(
      :title => 'Men At Arms', :author => 'Terry Pratchett'
    )
    work
    sleep 0.25

    Book.search('Terry Pratchett').to_a.should == [guards, men]
  end

  it "automatically indexes updated records" do
    book = Book.create :title => 'Night Watch', :author => 'Harry Pritchett'
    index

    Book.search('Harry').to_a.should == [book]

    book.reload.update_attributes(:author => 'Terry Pratchett')
    work
    sleep 0.25

    Book.search('Terry').to_a.should == [book]
  end

  it "does not match on old values" do
    book = Book.create :title => 'Night Watch', :author => 'Harry Pritchett'
    index

    Book.search('Harry').to_a.should == [book]

    book.reload.update_attributes(:author => 'Terry Pratchett')
    work
    sleep 0.25

    Book.search('Harry').should be_empty
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ts-sidekiq-delta-0.2.0 spec/acceptance/sidekiq_deltas_spec.rb
ts-sidekiq-delta-0.1.0 spec/acceptance/sidekiq_deltas_spec.rb