Sha256: 8d85e3b69107ca5ee2d96c133f0cca11067a1faf4633e2328cf1e5948728635a

Contents?: true

Size: 1.69 KB

Versions: 13

Compression:

Stored size: 1.69 KB

Contents

module SearchHelper
  def stub_full_results(*results)
    count =
      if results.last.is_a?(Integer) then results.pop
      else results.length
      end
    docs = results.map do |result|
      instance = result.delete('instance')
      result.merge('id' => "#{instance.class.name} #{instance.id}")
    end
    response = {
      'response' => {
        'docs' => docs,
        'numFound' => count
      }
    }
    connection.stub!(:select).and_return(response)
    response
  end

  def stub_results(*results)
    stub_full_results(
      *results.map do |result|
        if result.is_a?(Integer)
          result
        else
          { 'instance' => result }
        end
      end
    )
  end

  def stub_facet(name, values)
    connection.stub!(:select).and_return(
      'facet_counts' => {
        'facet_fields' => {
          name.to_s => values.to_a.sort_by { |value, count| -count }.flatten
        }
      }
    )
  end

  def stub_date_facet(name, gap, values)
    connection.stub!(:select).and_return(
      'facet_counts' => {
        'facet_dates' => {
          name.to_s => { 'gap' => "+#{gap}SECONDS" }.merge(values)
        }
      }
    )
  end

  def stub_query_facet(values)
    connection.stub!(:select).and_return(
      'facet_counts' => { 'facet_queries' => values }
    )
  end

  def facet_values(result, field_name)
    result.facet(field_name).rows.map { |row| row.value }
  end

  def facet_counts(result, field_name)
    result.facet(field_name).rows.map { |row| row.count }
  end

  def config
    @config ||= Sunspot::Configuration.build
  end

  def connection
    @connection ||= Mock::Connection.new
  end

  def session
    @session ||= Sunspot::Session.new(config, connection)
  end
end

Version data entries

13 entries across 13 versions & 4 rubygems

Version Path
benjaminkrause-sunspot-0.9.8 spec/helpers/search_helper.rb
sunspot-0.10.9 spec/helpers/search_helper.rb
sunspot-0.10.8 spec/helpers/search_helper.rb
nxa-sunspot-0.10.7 spec/helpers/search_helper.rb
sunspot-0.10.7 spec/helpers/search_helper.rb
sunspot-0.10.6 spec/helpers/search_helper.rb
sunspot-0.10.5 spec/helpers/search_helper.rb
sunspot-0.10.4 spec/helpers/search_helper.rb
kuahyeow-sunspot-0.10.3 spec/helpers/search_helper.rb
sunspot-0.10.3 spec/helpers/search_helper.rb
sunspot-0.10.2 spec/helpers/search_helper.rb
sunspot-0.10.1 spec/helpers/search_helper.rb
sunspot-0.10.0 spec/helpers/search_helper.rb