Как я могу написать спецификацию запроса с помощью Capybara / RSpec для тестирования поиска Sunspot / Solr?

Я хотел бы написать свои обычные спецификации запросов RSpec / Capybara для проверки функциональности поиска с использованием Sunspot и Solr. Я копался, но не могу найти, как заставить это работать. У меня установлен гем sunspot_test, и я убедился, что созданные Продукты действительно существуют. Может быть, проблема в индексации? Что мне не хватает?

require 'spec_helper'

describe "search" do

  context "when searching by name/description" do

    let!(:super_mario_bros_3) { Factory(:product, :name => 'Super Mario Bros. 3') }
    let!(:legend_of_zelda)    { Factory(:product, :name => 'Legend of Zelda') }

    before { Product.reindex; Sunspot.commit }


    it "should only find games matching the search text", :js => true, :search => true do
      # search_for fills in and submits the search form
      search_for("Super")

      # This yields an empty array
      p Product.search { keyword "super" }.results

      # These fail
      page.should have_content super_mario_bros_3.name
      page.should have_no_content legend_of_zelda.name
    end

  end

end
6
задан Eric M. 8 August 2011 в 21:48
поделиться