Sha256: 5c7c12ee1f75d14001289d169c1d13146b7b18a3d807cbc42d87eab5e6dc3f27

Contents?: true

Size: 1.98 KB

Versions: 26

Compression:

Stored size: 1.98 KB

Contents

require File.join(File.dirname(__FILE__), '../test_helper')

class ActsAsSolrTest < Test::Unit::TestCase
  
  fixtures :books, :movies

  # Testing the multi_solr_search with the returning results being objects
  def test_multi_solr_search_return_objects
    records = Book.multi_solr_search "Napoleon OR Tom", :models => [Movie], :results_format => :objects
    assert_equal 2, records.total
    assert_equal Movie, records.docs.first.class
    assert_equal Book,  records.docs.last.class
  end
  
  # Testing the multi_solr_search with the returning results being ids
  def test_multi_solr_search_return_ids
    records = Book.multi_solr_search "Napoleon OR Tom", :models => [Movie], :results_format => :ids
    assert_equal 2, records.total
    assert records.docs.include?({"id" => "Movie:1"})
    assert records.docs.include?({"id" => "Book:1"})
  end
  
  # Testing the multi_solr_search with multiple models
  def test_multi_solr_search_multiple_models
    records = Book.multi_solr_search "Napoleon OR Tom OR Thriller", :models => [Movie, Category], :results_format => :ids
    assert_equal 4, records.total
    [{"id" => "Category:1"}, {"id" =>"Book:1"}, {"id" => "Movie:1"}, {"id" =>"Book:3"}].each do |result|
      assert records.docs.include?(result)
    end
  end
  
  # Testing empty result set format
  def test_returns_no_matches
    records = Book.multi_solr_search "not found", :models => [Movie, Category]
    assert_equal [], records.docs
    assert_equal 0, records.total
  end
  
  def test_search_on_empty_string_does_not_return_nil
    records = Book.multi_solr_search('', :models => [Movie, Category])
    assert_not_nil records
    assert_equal [], records.docs
    assert_equal 0, records.total
  end
  
  def test_search_with_score_should_set_score
    records = Book.multi_solr_search "Napoleon OR Tom", :models => [Movie], :results_format => :objects, :scores => true
    assert_equal 1.0112731, records.docs.first.solr_score
    assert_equal 0.6723396, records.docs.last.solr_score
  end
end

Version data entries

26 entries across 26 versions & 4 rubygems

Version Path
honkster-acts_as_solr-0.1.0 test/functional/multi_solr_search_test.rb
honkster-acts_as_solr-0.2.0 test/functional/multi_solr_search_test.rb
honkster-acts_as_solr-0.2.1 test/functional/multi_solr_search_test.rb
honkster-acts_as_solr-0.2.2 test/functional/multi_solr_search_test.rb
honkster-acts_as_solr-0.2.3 test/functional/multi_solr_search_test.rb
honkster-acts_as_solr-0.2.4 test/functional/multi_solr_search_test.rb
honkster-acts_as_solr-0.2.5 test/functional/multi_solr_search_test.rb
onemorecloud-websolr-rails-1.1.1 test/functional/multi_solr_search_test.rb
onemorecloud-websolr-rails-1.3.3 test/functional/multi_solr_search_test.rb
onemorecloud-websolr-rails-1.4.0 test/functional/multi_solr_search_test.rb
onemorecloud-websolr-rails-1.4.1 test/functional/multi_solr_search_test.rb
acts_as_solr-1.3.3 test/functional/multi_solr_search_test.rb
acts_as_solr-1.3.2 test/functional/multi_solr_search_test.rb
acts_as_solr-1.3.1 test/functional/multi_solr_search_test.rb
acts_as_solr-1.3.0 test/functional/multi_solr_search_test.rb
acts_as_solr-1.2.0 test/functional/multi_solr_search_test.rb
acts_as_solr-1.1.3 test/functional/multi_solr_search_test.rb
acts_as_solr-1.1.2 test/functional/multi_solr_search_test.rb
acts_as_solr-1.1.1 test/functional/multi_solr_search_test.rb
acts_as_solr-1.0.0 test/functional/multi_solr_search_test.rb