diff --git a/plugins/solr/test/functional/search_controller_test.rb b/plugins/solr/test/functional/search_controller_test.rb index ac76369..fe66031 100644 --- a/plugins/solr/test/functional/search_controller_test.rb +++ b/plugins/solr/test/functional/search_controller_test.rb @@ -1,5 +1,4 @@ -require 'test_helper' -require File.dirname(__FILE__) + '/../test_solr_helper' +require "#{File.dirname(__FILE__)}/../test_helper" require File.dirname(__FILE__) + '/../../lib/ext/facets_browse' # Re-raise errors caught by the controller. @@ -228,9 +227,9 @@ class SearchControllerTest < ActionController::TestCase prod2.update_attribute :updated_at, Time.now Product.record_timestamps = true - get :products, :query => 'product', :order_by => :more_recent + get :products, :query => 'product', :order_by => :more_recent - assert_equal [prod2, prod1, prod3], assigns(:searches)[:products][:results].docs + assert_equal [prod2, prod1, prod3], assigns(:searches)[:products][:results].docs end should 'only list products from enabled enterprises' do @@ -257,7 +256,7 @@ class SearchControllerTest < ActionController::TestCase get :products, :query => 'product', :order_by => :name - assert_equal [prod3, prod2, prod1], assigns(:searches)[:products][:results].docs + assert_equal [prod3, prod2, prod1], assigns(:searches)[:products][:results].docs end should 'order product results by closest when requested' do @@ -267,7 +266,7 @@ class SearchControllerTest < ActionController::TestCase # trigger geosearch SearchController.any_instance.stubs(:logged_in?).returns(true) SearchController.any_instance.stubs(:current_user).returns(user) - + cat = fast_create(ProductCategory) ent1 = Enterprise.create!(:name => 'ent1', :identifier => 'ent1', :lat => '-5.0', :lng => '-5.0') prod1 = Product.create!(:name => 'product 1', :enterprise_id => ent1.id, :product_category_id => cat.id) @@ -280,7 +279,7 @@ class SearchControllerTest < ActionController::TestCase assert_equal [prod2, prod1, prod3], assigns(:searches)[:products][:results].docs end - + should 'order events by name when requested' do person = create_user('someone').person ev1 = create_event(person, :name => 'party B', :category_ids => [@category.id], :start_date => Date.today - 1.day) @@ -295,7 +294,7 @@ class SearchControllerTest < ActionController::TestCase art1 = Article.create!(:name => 'review C', :profile_id => fast_create(Person).id) art2 = Article.create!(:name => 'review A', :profile_id => fast_create(Person).id) art3 = Article.create!(:name => 'review B', :profile_id => fast_create(Person).id) - + get :articles, :query => 'review', :order_by => :name assert_equal [art2, art3, art1], assigns(:searches)[:articles][:results].docs @@ -305,7 +304,7 @@ class SearchControllerTest < ActionController::TestCase ent1 = Enterprise.create!(:name => 'Company B', :identifier => 'com_b') ent2 = Enterprise.create!(:name => 'Company A', :identifier => 'com_a') ent3 = Enterprise.create!(:name => 'Company C', :identifier => 'com_c') - + get :enterprises, :query => 'Company', :order_by => :name assert_equal [ent2, ent1, ent3], assigns(:searches)[:enterprises][:results].docs @@ -317,8 +316,8 @@ class SearchControllerTest < ActionController::TestCase person3 = Person.create!(:name => 'AusĂȘncio Silva', :identifier => 'ause', :user_id => fast_create(User).id) get :people, :query => 'Silva', :order_by => :name - - assert_equal [person3, person1, person2], assigns(:searches)[:people][:results].docs + + assert_equal [person3, person1, person2], assigns(:searches)[:people][:results].docs end should 'order community results by name when requested' do diff --git a/plugins/solr/test/test_helper.rb b/plugins/solr/test/test_helper.rb new file mode 100644 index 0000000..b7ab04d --- /dev/null +++ b/plugins/solr/test/test_helper.rb @@ -0,0 +1,69 @@ +# Solr start/stop +if not $test_helper_loaded + ENV["RAILS_ENV"] = "test" + abort unless system 'rake -s solr:start' + at_exit { system 'rake -s solr:stop' } + $test_helper_loaded = true +end + +require 'test_helper' + +class ActsAsSolr::Post + class << self + alias_method :execute_orig, :execute + end +end +module ActsAsSolr::ParserMethods + alias_method :parse_results_orig, :parse_results +end + +class TestSolr + + def self.enable + ActsAsSolr::Post.class_eval do + def self.execute(*args) + execute_orig *args + end + end + ActsAsSolr::ParserMethods.module_eval do + def parse_results(*args) + parse_results_orig *args + end + end + + # clear index + ActsAsSolr::Post.execute(Solr::Request::Delete.new(:query => '*:*')) + + @solr_disabled = false + end + + def self.disable + return if @solr_disabled + + ActsAsSolr::Post.class_eval do + def self.execute(*args) + true + end + end + ActsAsSolr::ParserMethods.module_eval do + def parse_results(*args) + parse_results_orig nil, args[1] + end + end + + @solr_disabled = true + end + +end + +class ActiveSupport::TestCase + def fast_create_with_solr(name, attrs = {}, options = {}) + obj = fast_create_without_solr(name, attrs, options) + obj.solr_save if options[:search] + obj + end + alias_method_chain :fast_create, :solr +end + +# disable solr actions by default +TestSolr.disable diff --git a/plugins/solr/test/test_solr_helper.rb b/plugins/solr/test/test_solr_helper.rb deleted file mode 100644 index 19c496c..0000000 --- a/plugins/solr/test/test_solr_helper.rb +++ /dev/null @@ -1,67 +0,0 @@ -# Start/stop Solr -# FIXME Not working properly... -if not $test_helper_loaded - abort unless system 'rake -s solr:start' -# at_exit { system 'rake -s solr:stop' } - $test_helper_loaded = true -end - -class ActsAsSolr::Post - class << self - alias_method :execute_orig, :execute - end -end -module ActsAsSolr::ParserMethods - alias_method :parse_results_orig, :parse_results -end - -class TestSolr - - def self.enable - ActsAsSolr::Post.class_eval do - def self.execute(*args) - execute_orig *args - end - end - ActsAsSolr::ParserMethods.module_eval do - def parse_results(*args) - parse_results_orig *args - end - end - - # clear index - ActsAsSolr::Post.execute(Solr::Request::Delete.new(:query => '*:*')) - - @solr_disabled = false - end - - def self.disable - return if @solr_disabled - - ActsAsSolr::Post.class_eval do - def self.execute(*args) - true - end - end - ActsAsSolr::ParserMethods.module_eval do - def parse_results(*args) - parse_results_orig nil, args[1] - end - end - - @solr_disabled = true - end - -end - -class ActiveSupport::TestCase - def fast_create_with_solr(name, attrs = {}, options = {}) - obj = fast_create_without_solr(name, attrs, options) - obj.solr_save if options[:search] - obj - end - alias_method_chain :fast_create, :solr -end - -# disable solr actions by default -TestSolr.disable diff --git a/plugins/solr/test/unit/article_test.rb b/plugins/solr/test/unit/article_test.rb index 2cc3de5..788db95 100644 --- a/plugins/solr/test/unit/article_test.rb +++ b/plugins/solr/test/unit/article_test.rb @@ -1,5 +1,4 @@ -require 'test_helper' -require File.dirname(__FILE__) + '/../test_solr_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class ArticleTest < ActiveSupport::TestCase def setup diff --git a/plugins/solr/test/unit/category_test.rb b/plugins/solr/test/unit/category_test.rb index 0a7c370..e6bc523 100644 --- a/plugins/solr/test/unit/category_test.rb +++ b/plugins/solr/test/unit/category_test.rb @@ -1,5 +1,4 @@ -require 'test_helper' -require File.dirname(__FILE__) + '/../test_solr_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class CategoryTest < ActiveSupport::TestCase def setup diff --git a/plugins/solr/test/unit/certifier_test.rb b/plugins/solr/test/unit/certifier_test.rb index 4a3a5fd..0eb9333 100644 --- a/plugins/solr/test/unit/certifier_test.rb +++ b/plugins/solr/test/unit/certifier_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class CertifierTest < ActiveSupport::TestCase def setup diff --git a/plugins/solr/test/unit/comment_test.rb b/plugins/solr/test/unit/comment_test.rb index bb4db23..0fab2a6 100644 --- a/plugins/solr/test/unit/comment_test.rb +++ b/plugins/solr/test/unit/comment_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class CommentTest < ActiveSupport::TestCase def setup diff --git a/plugins/solr/test/unit/enterprise_test.rb b/plugins/solr/test/unit/enterprise_test.rb index bbca095..7a6aeb8 100644 --- a/plugins/solr/test/unit/enterprise_test.rb +++ b/plugins/solr/test/unit/enterprise_test.rb @@ -1,5 +1,4 @@ -require 'test_helper' -require File.dirname(__FILE__) + '/../test_solr_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class EnterpriseTest < ActiveSupport::TestCase def setup diff --git a/plugins/solr/test/unit/environment_test.rb b/plugins/solr/test/unit/environment_test.rb index 5bf56bf..941f8fe 100644 --- a/plugins/solr/test/unit/environment_test.rb +++ b/plugins/solr/test/unit/environment_test.rb @@ -1,5 +1,4 @@ -require 'test_helper' -require File.dirname(__FILE__) + '/../test_solr_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class EnvironmentTest < ActiveSupport::TestCase def setup diff --git a/plugins/solr/test/unit/event_test.rb b/plugins/solr/test/unit/event_test.rb index 95315b9..753319e 100644 --- a/plugins/solr/test/unit/event_test.rb +++ b/plugins/solr/test/unit/event_test.rb @@ -1,5 +1,4 @@ -require 'test_helper' -require File.dirname(__FILE__) + '/../test_solr_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class EventTest < ActiveSupport::TestCase def setup diff --git a/plugins/solr/test/unit/product_category_test.rb b/plugins/solr/test/unit/product_category_test.rb index 51a04cc..1213343 100644 --- a/plugins/solr/test/unit/product_category_test.rb +++ b/plugins/solr/test/unit/product_category_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class ProductCategoryTest < ActiveSupport::TestCase def setup diff --git a/plugins/solr/test/unit/product_test.rb b/plugins/solr/test/unit/product_test.rb index 2403d67..23d96a3 100644 --- a/plugins/solr/test/unit/product_test.rb +++ b/plugins/solr/test/unit/product_test.rb @@ -1,5 +1,4 @@ -require 'test_helper' -require File.dirname(__FILE__) + '/../test_solr_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class ProductTest < ActiveSupport::TestCase def setup diff --git a/plugins/solr/test/unit/profile_test.rb b/plugins/solr/test/unit/profile_test.rb index c5df2ad..85809fe 100644 --- a/plugins/solr/test/unit/profile_test.rb +++ b/plugins/solr/test/unit/profile_test.rb @@ -1,5 +1,4 @@ -require 'test_helper' -require File.dirname(__FILE__) + '/../test_solr_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class ProfileTest < ActiveSupport::TestCase def setup @@ -113,7 +112,7 @@ class ProfileTest < ActiveSupport::TestCase TestSolr.enable e = fast_create(Enterprise, {:lat => 45, :lng => 45}, :search => true) - assert_includes Enterprise.find_by_contents('', {}, {:radius => 2, :latitude => 45, :longitude => 45})[:results].docs, e + assert_includes Enterprise.find_by_contents('', {}, {:radius => 2, :latitude => 45, :longitude => 45})[:results].docs, e end should 'index profile identifier for searching' do diff --git a/plugins/solr/test/unit/qualifier_test.rb b/plugins/solr/test/unit/qualifier_test.rb index e2653c3..68f3fa7 100644 --- a/plugins/solr/test/unit/qualifier_test.rb +++ b/plugins/solr/test/unit/qualifier_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class QualifierTest < ActiveSupport::TestCase def setup diff --git a/plugins/solr/test/unit/search_helper_test.rb b/plugins/solr/test/unit/search_helper_test.rb index c6ea338..91381a6 100644 --- a/plugins/solr/test/unit/search_helper_test.rb +++ b/plugins/solr/test/unit/search_helper_test.rb @@ -1,4 +1,4 @@ -require 'test_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class SearchHelperTest < ActiveSupport::TestCase @@ -21,7 +21,7 @@ class SearchHelperTest < ActiveSupport::TestCase expects(:javascript_tag).with(regexp_matches(/id.*[\'array_item\'].*json_message/m)).returns( '') stubs(:jquery_token_input_messages_json).returns('json_message') - assert_equal '', + assert_equal '', facet_javascript('id', '', ['array_item']) end @@ -30,13 +30,13 @@ class SearchHelperTest < ActiveSupport::TestCase expects(:javascript_tag).with(regexp_matches(/id.*\[\].*json_message/m)).returns( '') stubs(:jquery_token_input_messages_json).returns('json_message') - assert_equal '', + assert_equal '', facet_javascript('id', '', []) end should 'return html code for facet link' do facet = { - :solr_field => 'facet_solr_field', + :solr_field => 'facet_solr_field', :label_id => 'facet_label_id' } params = {} @@ -51,13 +51,13 @@ class SearchHelperTest < ActiveSupport::TestCase stubs(:content_tag).with(anything, ' (1)', anything).returns('') stubs(:content_tag).with(anything, '', anything).returns('') - assert_equal '', + assert_equal '', facet_link_html(facet, params, value, label, count) end should 'return html code for facet link with extra label' do facet = { - :solr_field => 'facet_solr_field', + :solr_field => 'facet_solr_field', :label_id => 'facet_label_id' } params = {} @@ -72,13 +72,13 @@ class SearchHelperTest < ActiveSupport::TestCase stubs(:content_tag).with(anything, ' (1)', anything).returns('') stubs(:content_tag).with(anything, '', anything).returns('') - assert_equal '', + assert_equal '', facet_link_html(facet, params, value, label, count) end should 'return html code for selected facet link' do facet = { - :solr_field => 'facet_solr_field' + :solr_field => 'facet_solr_field' } params = {:facet => {'facet_solr_field' => 'facet_value'}} value = 'facet_value' @@ -92,7 +92,7 @@ class SearchHelperTest < ActiveSupport::TestCase stubs(:content_tag).with(anything, ' (1)', anything).returns('') stubs(:content_tag).with(anything, '', {:class => 'facet-menu-item facet-result-link-selected'}).returns('') - assert_equal '', + assert_equal '', facet_link_html(facet, params, value, label, count) end @@ -102,7 +102,7 @@ class SearchHelperTest < ActiveSupport::TestCase klass.stubs(:facet_label).with('klass_facet_by_id').returns('klass_facet_label') klass.stubs(:facet_result_name).with('klass_facet_by_id', 'facet_value').returns('klass_facet_result_name') params = {:facet => {:facet_id => 'facet_value'}} - + expects(:content_tag).with(anything, 'klass_facet_label', anything).returns('') expects(:content_tag).with(anything, 'klass_facet_result_name', anything).returns('') expects(:link_to).with(anything, {:facet => {}}, anything).returns('') @@ -110,7 +110,7 @@ class SearchHelperTest < ActiveSupport::TestCase environment = mock assert_match '', facet_selecteds_html_for(environment, klass, params) - end + end should 'show select tag for order_by' do [:products, :events, :articles, :enterprises, :people, :communities].each do |asset| diff --git a/plugins/solr/test/unit/text_article_test.rb b/plugins/solr/test/unit/text_article_test.rb index 104ec7b..85bacf3 100644 --- a/plugins/solr/test/unit/text_article_test.rb +++ b/plugins/solr/test/unit/text_article_test.rb @@ -1,5 +1,4 @@ -require 'test_helper' -require File.dirname(__FILE__) + '/../test_solr_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class TextArticleTest < ActiveSupport::TestCase def setup @@ -8,7 +7,7 @@ class TextArticleTest < ActiveSupport::TestCase end attr_accessor :environment - + should 'found TextileArticle by TextArticle indexes' do TestSolr.enable person = create_user('testuser').person diff --git a/plugins/solr/test/unit/textile_article_test.rb b/plugins/solr/test/unit/textile_article_test.rb index a4730c4..c570d4c 100644 --- a/plugins/solr/test/unit/textile_article_test.rb +++ b/plugins/solr/test/unit/textile_article_test.rb @@ -1,7 +1,7 @@ -require 'test_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class TextileArticleTest < ActiveSupport::TestCase - + should 'define type facet' do a = TextileArticle.new assert_equal TextArticle.type_name, TextileArticle.send(:solr_plugin_f_type_proc, a.send(:solr_plugin_f_type)) diff --git a/plugins/solr/test/unit/tiny_mce_article_test.rb b/plugins/solr/test/unit/tiny_mce_article_test.rb index 38ae348..566127b 100644 --- a/plugins/solr/test/unit/tiny_mce_article_test.rb +++ b/plugins/solr/test/unit/tiny_mce_article_test.rb @@ -1,5 +1,4 @@ -require 'test_helper' -require File.dirname(__FILE__) + '/../test_solr_helper' +require "#{File.dirname(__FILE__)}/../test_helper" class TinyMceArticleTest < ActiveSupport::TestCase def setup -- libgit2 0.21.2