Sha256: 072e39ea6f748b793d7abcd5fd8e47a1def551209060e05e17d9093c6e054967

Contents?: true

Size: 1.5 KB

Versions: 30

Compression:

Stored size: 1.5 KB

Contents

module SearchHelper
  def stub_nil_results
    connection.response = { 'response' => nil }
  end

  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.response = 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.response = {
      '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.response = {
      'facet_counts' => {
        'facet_dates' => {
          name.to_s => { 'gap' => "+#{gap}SECONDS" }.merge(values)
        }
      }
    }
  end

  def stub_query_facet(values)
    connection.response = { '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
end

Version data entries

30 entries across 30 versions & 7 rubygems

Version Path
sunspot-2.1.0 spec/helpers/search_helper.rb
sunspot_suggest-0.0.3 spec/helpers/search_helper.rb
sunspot_suggest-0.0.2 spec/helpers/search_helper.rb
sunspot_suggest-0.0.1 spec/helpers/search_helper.rb
sunspot-2.0.0 spec/helpers/search_helper.rb
sunspot-2.0.0.pre.130115 spec/helpers/search_helper.rb
gojee-sunspot-2.0.5 spec/helpers/search_helper.rb
sunspot-2.0.0.pre.120925 spec/helpers/search_helper.rb
sunspot_solr-2.0.0.pre.120924 sunspot/spec/helpers/search_helper.rb
sunspot_rails-2.0.0.pre.120924 sunspot/spec/helpers/search_helper.rb
sunspot-2.0.0.pre.120924 sunspot/spec/helpers/search_helper.rb
gojee-sunspot-2.0.4 spec/helpers/search_helper.rb
gojee-sunspot-2.0.2 spec/helpers/search_helper.rb
sunspot-2.0.0.pre.120720 spec/helpers/search_helper.rb
sunspot-1.3.3 spec/helpers/search_helper.rb
sunspot-1.3.2 spec/helpers/search_helper.rb
sunspot-2.0.0.pre.120417 spec/helpers/search_helper.rb
sunspot-2.0.0.pre.120415 spec/helpers/search_helper.rb
sunspot-1.3.1 spec/helpers/search_helper.rb
erichummel-sunspot-2.0.0.pre.111215d spec/helpers/search_helper.rb