Commit 0c1d441e9a6a4034245dbe689ff3b83c2438bec3
1 parent
e705c4a8
Exists in
master
and in
29 other branches
Fixing some funcitonal tests and moving solr server start to plugin
Showing
8 changed files
with
28 additions
and
318 deletions
Show diff stats
app/controllers/admin/region_validators_controller.rb
... | ... | @@ -33,7 +33,7 @@ class RegionValidatorsController < AdminController |
33 | 33 | def load_region_and_search |
34 | 34 | @region = environment.regions.find(params[:id]) |
35 | 35 | if params[:search] |
36 | - @search = find_by_contents(Organization, params[:search])[:results].reject {|item| @region.validator_ids.include?(item.id) } | |
36 | + @search = find_by_contents(:organizations, Organization, params[:search])[:results].reject {|item| @region.validator_ids.include?(item.id) } | |
37 | 37 | end |
38 | 38 | end |
39 | 39 | ... | ... |
app/controllers/my_profile/cms_controller.rb
... | ... | @@ -270,7 +270,7 @@ class CmsController < MyProfileController |
270 | 270 | |
271 | 271 | def search |
272 | 272 | query = params[:q] |
273 | - results = find_by_contents(profile.files.published, query)[:results] | |
273 | + results = find_by_contents(:uploaded_files, profile.files.published, query)[:results] | |
274 | 274 | render :text => article_list_to_json(results), :content_type => 'application/json' |
275 | 275 | end |
276 | 276 | ... | ... |
app/controllers/public/profile_search_controller.rb
... | ... | @@ -11,7 +11,7 @@ class ProfileSearchController < PublicController |
11 | 11 | if params[:where] == 'environment' |
12 | 12 | redirect_to :controller => 'search', :query => @q |
13 | 13 | else |
14 | - @results = find_by_contents(profile.articles.published, @q, {:per_page => 10, :page => params[:page]})[:results] | |
14 | + @results = find_by_contents(:articles, profile.articles.published, @q, {:per_page => 10, :page => params[:page]})[:results] | |
15 | 15 | end |
16 | 16 | end |
17 | 17 | end | ... | ... |
app/helpers/search_helper.rb
plugins/solr/test/test_solr_helper.rb
1 | +# Start/stop Solr | |
2 | +# FIXME Not working properly... | |
3 | +if not $test_helper_loaded | |
4 | + abort unless system 'rake -s solr:start' | |
5 | + at_exit { system 'rake -s solr:stop' } | |
6 | + $test_helper_loaded = true | |
7 | +end | |
8 | + | |
1 | 9 | class ActsAsSolr::Post |
2 | 10 | class << self |
3 | 11 | alias_method :execute_orig, :execute | ... | ... |
test/functional/cms_controller_test.rb
... | ... | @@ -282,7 +282,6 @@ class CmsControllerTest < ActionController::TestCase |
282 | 282 | end |
283 | 283 | |
284 | 284 | should 'display destination folder of files when uploading file' do |
285 | - TestSolr.enable | |
286 | 285 | f = Folder.new(:name => 'f'); profile.articles << f; f.save! |
287 | 286 | get :upload_files, :profile => profile.identifier, :parent_id => f.id |
288 | 287 | |
... | ... | @@ -1476,7 +1475,6 @@ class CmsControllerTest < ActionController::TestCase |
1476 | 1475 | end |
1477 | 1476 | |
1478 | 1477 | should 'search for content for inclusion in articles' do |
1479 | - TestSolr.enable | |
1480 | 1478 | file = UploadedFile.create!(:profile => @profile, :uploaded_data => fixture_file_upload('files/test.txt', 'text/plain')) |
1481 | 1479 | get :search, :profile => @profile.identifier, :q => 'test.txt' |
1482 | 1480 | assert_match /test.txt/, @response.body | ... | ... |
test/functional/search_controller_test.rb
... | ... | @@ -7,7 +7,6 @@ class SearchController; def rescue_action(e) raise e end; end |
7 | 7 | class SearchControllerTest < ActionController::TestCase |
8 | 8 | |
9 | 9 | def setup |
10 | - TestSolr.enable | |
11 | 10 | @controller = SearchController.new |
12 | 11 | @request = ActionController::TestRequest.new |
13 | 12 | @request.stubs(:ssl?).returns(false) |
... | ... | @@ -34,8 +33,6 @@ class SearchControllerTest < ActionController::TestCase |
34 | 33 | user.stubs(:email).returns('some@test.com') |
35 | 34 | user.stubs(:save!).returns(true) |
36 | 35 | Person.any_instance.stubs(:user).returns(user) |
37 | - | |
38 | - env.enable_plugin(SolrPlugin) | |
39 | 36 | end |
40 | 37 | |
41 | 38 | def create_article_with_optional_category(name, profile, category = nil) |
... | ... | @@ -77,23 +74,6 @@ class SearchControllerTest < ActionController::TestCase |
77 | 74 | assert_includes assigns(:searches)[:articles][:results], art |
78 | 75 | end |
79 | 76 | |
80 | -# should 'get facets with articles search results' do | |
81 | -# cat1 = fast_create(Category, :name => 'cat1') | |
82 | -# cat2 = fast_create(Category, :name => 'cat2') | |
83 | -# person = fast_create(Person) | |
84 | -# art = create_article_with_optional_category('an article to be found', person) | |
85 | -# art.add_category cat1, false | |
86 | -# art.add_category cat2, true | |
87 | -# art.save! | |
88 | -# | |
89 | -# get 'articles', :query => 'article found' | |
90 | -# assert !assigns(:searches)[:articles].facets.blank? | |
91 | -# assert assigns(:searches)[:articles].facets['facet_fields']['f_type_facet'][0][0] == 'Article' | |
92 | -# assert assigns(:searches)[:articles].facets['facet_fields']['f_profile_type_facet'][0][0] == 'Person' | |
93 | -# assert assigns(:searches)[:articles].facets['facet_fields']['f_category_facet'][0][0] == 'cat1' | |
94 | -# assert assigns(:searches)[:articles].facets['facet_fields']['f_category_facet'][1][0] == 'cat2' | |
95 | -# end | |
96 | - | |
97 | 77 | should 'redirect contents to articles' do |
98 | 78 | person = fast_create(Person) |
99 | 79 | art = create_article_with_optional_category('an article to be found', person) |
... | ... | @@ -120,7 +100,6 @@ class SearchControllerTest < ActionController::TestCase |
120 | 100 | ent = create_profile_with_optional_category(Enterprise, 'teste') |
121 | 101 | get :enterprises, :query => 'teste' |
122 | 102 | assert_includes assigns(:searches)[:enterprises][:results], ent |
123 | -# assert !assigns(:searches)[:enterprises].facets.nil? | |
124 | 103 | end |
125 | 104 | |
126 | 105 | should 'list enterprises in general' do |
... | ... | @@ -138,25 +117,6 @@ class SearchControllerTest < ActionController::TestCase |
138 | 117 | assert_includes assigns(:searches)[:people][:results], p1 |
139 | 118 | end |
140 | 119 | |
141 | -# should 'get facets with people search results' do | |
142 | -# state = fast_create(State, :name => 'Acre', :acronym => 'AC') | |
143 | -# city = fast_create(City, :name => 'Rio Branco', :parent_id => state.id) | |
144 | -# person = Person.create!(:name => 'Hildebrando', :identifier => 'hild', :user_id => fast_create(User).id, :region_id => city.id) | |
145 | -# cat1 = fast_create(Category, :name => 'cat1') | |
146 | -# cat2 = fast_create(Category, :name => 'cat2') | |
147 | -# person.add_category cat1 | |
148 | -# person.add_category cat2 | |
149 | -# | |
150 | -# get 'people', :query => 'Hildebrando' | |
151 | -# | |
152 | -# assert !assigns(:searches)[:people].facets.blank? | |
153 | -# assert assigns(:searches)[:people].facets['facet_fields']['f_region_facet'][0][0] == city.id.to_s | |
154 | -# | |
155 | -# categories_facet = assigns(:searches)[:people].facets['facet_fields']['f_categories_facet'] | |
156 | -# assert_equal 2, categories_facet.count | |
157 | -# assert_equivalent [cat1.id.to_s, cat2.id.to_s], [categories_facet[0][0], categories_facet[1][0]] | |
158 | -# end | |
159 | - | |
160 | 120 | # 'assets' menu outside any category |
161 | 121 | should 'list people in general' do |
162 | 122 | Profile.delete_all |
... | ... | @@ -173,7 +133,6 @@ class SearchControllerTest < ActionController::TestCase |
173 | 133 | c1 = create_profile_with_optional_category(Community, 'a beautiful community') |
174 | 134 | get :communities, :query => 'beautiful' |
175 | 135 | assert_includes assigns(:searches)[:communities][:results], c1 |
176 | -# assert !assigns(:searches)[:communities].facets.nil? | |
177 | 136 | end |
178 | 137 | |
179 | 138 | # 'assets' menu outside any category |
... | ... | @@ -192,40 +151,6 @@ class SearchControllerTest < ActionController::TestCase |
192 | 151 | assert_includes assigns(:searches)[:products][:results], prod |
193 | 152 | end |
194 | 153 | |
195 | -# should 'get facets with products search results' do | |
196 | -# state = fast_create(State, :name => 'Acre', :acronym => 'AC') | |
197 | -# city = fast_create(City, :name => 'Rio Branco', :parent_id => state.id) | |
198 | -# ent = fast_create(Enterprise, :region_id => city.id) | |
199 | -# prod = Product.create!(:name => 'Sound System', :enterprise_id => ent.id, :product_category_id => @product_category.id) | |
200 | -# qualifier1 = fast_create(Qualifier) | |
201 | -# qualifier2 = fast_create(Qualifier) | |
202 | -# prod.qualifiers_list = [[qualifier1.id, 0], [qualifier2.id, 0]] | |
203 | -# prod.qualifiers.reload | |
204 | -# prod.save! | |
205 | -# | |
206 | -# get 'products', :query => 'Sound' | |
207 | -# assert !assigns(:searches)[:products].facets.blank? | |
208 | -# assert assigns(:searches)[:products].facets['facet_fields']['f_category_facet'][0][0] == @product_category.name | |
209 | -# assert assigns(:searches)[:products].facets['facet_fields']['f_region_facet'][0][0] == city.id.to_s | |
210 | -# assert assigns(:searches)[:products].facets['facet_fields']['f_qualifier_facet'][0][0] == "#{qualifier1.id} 0" | |
211 | -# assert assigns(:searches)[:products].facets['facet_fields']['f_qualifier_facet'][1][0] == "#{qualifier2.id} 0" | |
212 | -# end | |
213 | - | |
214 | - # 'assets' menu outside any category | |
215 | -# should 'list products in general without geosearch' do | |
216 | -# Profile.delete_all | |
217 | -# SearchController.stubs(:logged_in?).returns(false) | |
218 | -# | |
219 | -# ent1 = create_profile_with_optional_category(Enterprise, 'teste1') | |
220 | -# ent2 = create_profile_with_optional_category(Enterprise, 'teste2') | |
221 | -# prod1 = ent1.products.create!(:name => 'a beautiful product', :product_category => @product_category) | |
222 | -# prod2 = ent2.products.create!(:name => 'another beautiful product', :product_category => @product_category) | |
223 | -# | |
224 | -# get :products | |
225 | -# assert_equivalent [prod2, prod1], assigns(:searches)[:products].docs | |
226 | -# assert_match 'Highlights', @response.body | |
227 | -# end | |
228 | - | |
229 | 154 | should 'include extra content supplied by plugins on product asset' do |
230 | 155 | class Plugin1 < Noosfero::Plugin |
231 | 156 | def asset_product_extras(product) |
... | ... | @@ -303,21 +228,21 @@ class SearchControllerTest < ActionController::TestCase |
303 | 228 | assert_no_tag :tag => 'div', :attributes => { :id => 'boxes', :class => 'boxes' } |
304 | 229 | end |
305 | 230 | |
306 | -# should 'offer text box to enter a new search in general context' do | |
307 | -# get :index, :query => 'a sample search' | |
308 | -# assert_tag :tag => 'form', :attributes => { :action => '/search' }, :descendant => { | |
309 | -# :tag => 'input', | |
310 | -# :attributes => { :name => 'query', :value => 'a sample search' } | |
311 | -# } | |
312 | -# end | |
313 | -# | |
314 | -# should 'offer text box to enter a new seach in specific context' do | |
315 | -# get :index, :category_path => [ 'my-category'], :query => 'a sample search' | |
316 | -# assert_tag :tag => 'form', :attributes => { :action => '/search/index/my-category' }, :descendant => { | |
317 | -# :tag => 'input', | |
318 | -# :attributes => { :name => 'query', :value => 'a sample search' } | |
319 | -# } | |
320 | -# end | |
231 | + should 'offer text box to enter a new search in general context' do | |
232 | + get :index, :query => 'a sample search' | |
233 | + assert_tag :tag => 'form', :attributes => { :action => '/search' }, :descendant => { | |
234 | + :tag => 'input', | |
235 | + :attributes => { :name => 'query', :value => 'a sample search' } | |
236 | + } | |
237 | + end | |
238 | + | |
239 | + should 'offer text box to enter a new seach in specific context' do | |
240 | + get :index, :category_path => [ 'my-category'], :query => 'a sample search' | |
241 | + assert_tag :tag => 'form', :attributes => { :action => '/search/index/my-category' }, :descendant => { | |
242 | + :tag => 'input', | |
243 | + :attributes => { :name => 'query', :value => 'a sample search' } | |
244 | + } | |
245 | + end | |
321 | 246 | |
322 | 247 | should 'search in category hierachy' do |
323 | 248 | parent = Category.create!(:name => 'Parent Category', :environment => Environment.default) |
... | ... | @@ -330,33 +255,6 @@ class SearchControllerTest < ActionController::TestCase |
330 | 255 | assert_includes assigns(:searches)[:people][:results], p |
331 | 256 | end |
332 | 257 | |
333 | -# should 'find enterprise by product category' do | |
334 | -# ent1 = create_profile_with_optional_category(Enterprise, 'test1') | |
335 | -# prod_cat = ProductCategory.create!(:name => 'pctest', :environment => Environment.default) | |
336 | -# prod = ent1.products.create!(:name => 'teste', :product_category => prod_cat) | |
337 | -# | |
338 | -# ent2 = create_profile_with_optional_category(Enterprise, 'test2') | |
339 | -# | |
340 | -# get :index, :query => prod_cat.name | |
341 | -# | |
342 | -# assert_includes assigns(:searches)[:enterprises][:results], ent1 | |
343 | -# assert_not_includes assigns(:searches)[:enterprises][:results], ent2 | |
344 | -# end | |
345 | - | |
346 | -# should 'show only results in general search' do | |
347 | -# ent1 = create_profile_with_optional_category(Enterprise, 'test1') | |
348 | -# prod_cat = ProductCategory.create!(:name => 'pctest', :environment => Environment.default) | |
349 | -# prod = ent1.products.create!(:name => 'teste', :product_category => prod_cat) | |
350 | -# | |
351 | -# ent2 = create_profile_with_optional_category(Enterprise, 'test2') | |
352 | -# | |
353 | -# get :index, :query => prod_cat.name | |
354 | -# | |
355 | -# assert assigns(:facets).blank? | |
356 | -# assert_nil assigns(:searches)[:enterprises].facets | |
357 | -# assert_nil assigns(:searches)[:products].facets | |
358 | -# end | |
359 | - | |
360 | 258 | should 'render specific action when only one asset is enabled' do |
361 | 259 | environment = Environment.default |
362 | 260 | # article is not disabled |
... | ... | @@ -412,7 +310,6 @@ class SearchControllerTest < ActionController::TestCase |
412 | 310 | get :events, :query => 'event to be found' |
413 | 311 | |
414 | 312 | assert_includes assigns(:searches)[:events][:results], event |
415 | -# assert !assigns(:searches)[:events].facets.nil? | |
416 | 313 | end |
417 | 314 | |
418 | 315 | should 'return events of the day' do |
... | ... | @@ -491,47 +388,6 @@ class SearchControllerTest < ActionController::TestCase |
491 | 388 | assert_includes assigns(:searches)[:products][:results], p |
492 | 389 | end |
493 | 390 | |
494 | - # Testing random sequences always have a small chance of failing | |
495 | -# should 'randomize product display in empty search' do | |
496 | -# prod_cat = ProductCategory.create!(:name => 'prod cat test', :environment => Environment.default) | |
497 | -# ent = create_profile_with_optional_category(Enterprise, 'test enterprise') | |
498 | -# (1..SearchController::LIST_SEARCH_LIMIT+5).each do |n| | |
499 | -# fast_create(Product, {:name => "produto #{n}", :enterprise_id => ent.id, :product_category_id => prod_cat.id}, :search => true) | |
500 | -# end | |
501 | -# | |
502 | -# get :products | |
503 | -# result1 = assigns(:searches)[:products][:results].map(&:id) | |
504 | -# | |
505 | -# (1..10).each do |n| | |
506 | -# get :products | |
507 | -# end | |
508 | -# result2 = assigns(:searches)[:products][:results].map(&:id) | |
509 | -# | |
510 | -# assert_not_equal result1, result2 | |
511 | -# end | |
512 | - | |
513 | -# should 'remove far products by geolocalization empty logged search' do | |
514 | -# user = create_user('a_logged_user') | |
515 | -# # trigger geosearch | |
516 | -# user.person.lat = '1.0' | |
517 | -# user.person.lng = '1.0' | |
518 | -# SearchController.any_instance.stubs(:logged_in?).returns(true) | |
519 | -# SearchController.any_instance.stubs(:current_user).returns(user) | |
520 | -# | |
521 | -# cat = fast_create(ProductCategory) | |
522 | -# ent1 = Enterprise.create!(:name => 'ent1', :identifier => 'ent1', :lat => '1.3', :lng => '1.3') | |
523 | -# prod1 = Product.create!(:name => 'produto 1', :enterprise_id => ent1.id, :product_category_id => cat.id) | |
524 | -# ent2 = Enterprise.create!(:name => 'ent2', :identifier => 'ent2', :lat => '2.0', :lng => '2.0') | |
525 | -# prod2 = Product.create!(:name => 'produto 2', :enterprise_id => ent2.id, :product_category_id => cat.id) | |
526 | -# ent3 = Enterprise.create!(:name => 'ent3', :identifier => 'ent3', :lat => '1.6', :lng => '1.6') | |
527 | -# prod3 = Product.create!(:name => 'produto 3', :enterprise_id => ent3.id, :product_category_id => cat.id) | |
528 | -# ent4 = Enterprise.create!(:name => 'ent4', :identifier => 'ent4', :lat => '10', :lng => '10') | |
529 | -# prod4 = Product.create!(:name => 'produto 4', :enterprise_id => ent4.id, :product_category_id => cat.id) | |
530 | -# | |
531 | -# get :products | |
532 | -# assert_equivalent [prod1, prod3, prod2], assigns(:searches)[:products].docs | |
533 | -# end | |
534 | - | |
535 | 391 | should 'display properly in conjuntion with a category' do |
536 | 392 | cat = Category.create(:name => 'cat', :environment => Environment.default) |
537 | 393 | prod_cat1 = ProductCategory.create!(:name => 'prod cat test 1', :environment => Environment.default) |
... | ... | @@ -714,25 +570,6 @@ class SearchControllerTest < ActionController::TestCase |
714 | 570 | assert_not_includes assigns(:searches)[:communities][:results], p1 |
715 | 571 | end |
716 | 572 | |
717 | -# should 'browse facets when query is not empty' do | |
718 | -# get :articles, :query => 'something' | |
719 | -# get :facets_browse, :asset => 'articles', :facet_id => 'f_type' | |
720 | -# assert_equal assigns(:facet)[:id], 'f_type' | |
721 | -# get :products, :query => 'something' | |
722 | -# get :facets_browse, :asset => 'products', :facet_id => 'f_category' | |
723 | -# assert_equal assigns(:facet)[:id], 'f_category' | |
724 | -# get :people, :query => 'something' | |
725 | -# get :facets_browse, :asset => 'people', :facet_id => 'f_region' | |
726 | -# assert_equal assigns(:facet)[:id], 'f_region' | |
727 | -# end | |
728 | -# | |
729 | -# should 'raise exception when facet is invalid' do | |
730 | -# get :articles, :query => 'something' | |
731 | -# assert_raise RuntimeError do | |
732 | -# get :facets_browse, :asset => 'articles', :facet_id => 'f_whatever' | |
733 | -# end | |
734 | -# end | |
735 | - | |
736 | 573 | should 'keep old urls working' do |
737 | 574 | get :assets, :asset => 'articles' |
738 | 575 | assert_redirected_to :controller => :search, :action => :articles |
... | ... | @@ -790,92 +627,6 @@ class SearchControllerTest < ActionController::TestCase |
790 | 627 | assert_equal [art2], assigns(:searches)[:articles][:results] |
791 | 628 | end |
792 | 629 | |
793 | -# should 'order product results by more recent when requested' do | |
794 | -# ent = fast_create(Enterprise) | |
795 | -# prod1 = Product.create!(:name => 'product 1', :enterprise_id => ent.id, :product_category_id => @product_category.id) | |
796 | -# prod2 = Product.create!(:name => 'product 2', :enterprise_id => ent.id, :product_category_id => @product_category.id) | |
797 | -# prod3 = Product.create!(:name => 'product 3', :enterprise_id => ent.id, :product_category_id => @product_category.id) | |
798 | -# | |
799 | -# # change others attrs will make updated_at = Time.now for all | |
800 | -# Product.record_timestamps = false | |
801 | -# prod3.update_attribute :updated_at, Time.now-2.days | |
802 | -# prod1.update_attribute :updated_at, Time.now-1.days | |
803 | -# prod2.update_attribute :updated_at, Time.now | |
804 | -# Product.record_timestamps = true | |
805 | -# | |
806 | -# get :products, :query => 'product', :order_by => :more_recent | |
807 | -# | |
808 | -# assert_equal [prod2, prod1, prod3], assigns(:searches)[:products].docs | |
809 | -# end | |
810 | -# | |
811 | -# should 'only list products from enabled enterprises' do | |
812 | -# ent1 = fast_create(Enterprise, :enabled => true) | |
813 | -# ent2 = fast_create(Enterprise, :enabled => false) | |
814 | -# prod1 = Product.create!(:name => 'product 1', :enterprise_id => ent1.id, :product_category_id => @product_category.id) | |
815 | -# prod2 = Product.create!(:name => 'product 2', :enterprise_id => ent2.id, :product_category_id => @product_category.id) | |
816 | -# | |
817 | -# get :products, :query => 'product' | |
818 | -# | |
819 | -# assert_includes assigns(:searches)[:products][:results], prod1 | |
820 | -# assert_not_includes assigns(:searches)[:products][:results], prod2 | |
821 | -# end | |
822 | -# | |
823 | -# should 'order product results by name when requested' do | |
824 | -# ent = fast_create(Enterprise) | |
825 | -# prod1 = Product.create!(:name => 'product 1', :enterprise_id => ent.id, :product_category_id => @product_category.id) | |
826 | -# prod2 = Product.create!(:name => 'product 2', :enterprise_id => ent.id, :product_category_id => @product_category.id) | |
827 | -# prod3 = Product.create!(:name => 'product 3', :enterprise_id => ent.id, :product_category_id => @product_category.id) | |
828 | -# | |
829 | -# prod3.update_attribute :name, 'product A' | |
830 | -# prod2.update_attribute :name, 'product B' | |
831 | -# prod1.update_attribute :name, 'product C' | |
832 | -# | |
833 | -# get :products, :query => 'product', :order_by => :name | |
834 | -# | |
835 | -# assert_equal [prod3, prod2, prod1], assigns(:searches)[:products].docs | |
836 | -# end | |
837 | -# | |
838 | -# should 'order product results by closest when requested' do | |
839 | -# user = create_user('a_logged_user') | |
840 | -# user.person.lat = '1.0' | |
841 | -# user.person.lng = '1.0' | |
842 | -# # trigger geosearch | |
843 | -# SearchController.any_instance.stubs(:logged_in?).returns(true) | |
844 | -# SearchController.any_instance.stubs(:current_user).returns(user) | |
845 | -# | |
846 | -# cat = fast_create(ProductCategory) | |
847 | -# ent1 = Enterprise.create!(:name => 'ent1', :identifier => 'ent1', :lat => '-5.0', :lng => '-5.0') | |
848 | -# prod1 = Product.create!(:name => 'product 1', :enterprise_id => ent1.id, :product_category_id => cat.id) | |
849 | -# ent2 = Enterprise.create!(:name => 'ent2', :identifier => 'ent2', :lat => '2.0', :lng => '2.0') | |
850 | -# prod2 = Product.create!(:name => 'product 2', :enterprise_id => ent2.id, :product_category_id => cat.id) | |
851 | -# ent3 = Enterprise.create!(:name => 'ent3', :identifier => 'ent3', :lat => '10.0', :lng => '10.0') | |
852 | -# prod3 = Product.create!(:name => 'product 3', :enterprise_id => ent3.id, :product_category_id => cat.id) | |
853 | -# | |
854 | -# get :products, :query => 'product', :order_by => :closest | |
855 | -# assert_equal [prod2, prod1, prod3], assigns(:searches)[:products].docs | |
856 | -# end | |
857 | -# | |
858 | -# | |
859 | -# should 'order events by name when requested' do | |
860 | -# person = create_user('someone').person | |
861 | -# ev1 = create_event(person, :name => 'party B', :category_ids => [@category.id], :start_date => Date.today - 10.day) | |
862 | -# ev2 = create_event(person, :name => 'party A', :category_ids => [@category.id], :start_date => Date.today - 2.month) | |
863 | -# | |
864 | -# get :events, :query => 'party', :order_by => :name | |
865 | -# | |
866 | -# assert_equal [ev2, ev1], assigns(:searches)[:events].docs | |
867 | -# end | |
868 | -# | |
869 | -# should 'order articles by name when requested' do | |
870 | -# art1 = Article.create!(:name => 'review C', :profile_id => fast_create(Person).id) | |
871 | -# art2 = Article.create!(:name => 'review A', :profile_id => fast_create(Person).id) | |
872 | -# art3 = Article.create!(:name => 'review B', :profile_id => fast_create(Person).id) | |
873 | -# | |
874 | -# get :articles, :query => 'review', :order_by => :name | |
875 | -# | |
876 | -# assert_equal [art2, art3, art1], assigns(:searches)[:articles].docs | |
877 | -# end | |
878 | - | |
879 | 630 | should 'order articles by more recent' do |
880 | 631 | Article.destroy_all |
881 | 632 | art1 = Article.create!(:name => 'review C', :profile_id => fast_create(Person).id, :created_at => Time.now-1.days) |
... | ... | @@ -887,46 +638,6 @@ class SearchControllerTest < ActionController::TestCase |
887 | 638 | assert_equal [art2, art1, art3], assigns(:searches)[:articles][:results] |
888 | 639 | end |
889 | 640 | |
890 | -# should 'order enterprise results by name when requested' do | |
891 | -# ent1 = Enterprise.create!(:name => 'Company B', :identifier => 'com_b') | |
892 | -# ent2 = Enterprise.create!(:name => 'Company A', :identifier => 'com_a') | |
893 | -# ent3 = Enterprise.create!(:name => 'Company C', :identifier => 'com_c') | |
894 | -# | |
895 | -# get :enterprises, :query => 'Company', :order_by => :name | |
896 | -# | |
897 | -# assert_equal [ent2, ent1, ent3], assigns(:searches)[:enterprises].docs | |
898 | -# end | |
899 | -# | |
900 | -# should 'order people results by name when requested' do | |
901 | -# person1 = Person.create!(:name => 'Deodárbio Silva', :identifier => 'deod', :user_id => fast_create(User).id) | |
902 | -# person2 = Person.create!(:name => 'Glislange Silva', :identifier => 'glis', :user_id => fast_create(User).id) | |
903 | -# person3 = Person.create!(:name => 'Ausêncio Silva', :identifier => 'ause', :user_id => fast_create(User).id) | |
904 | -# | |
905 | -# get :people, :query => 'Silva', :order_by => :name | |
906 | -# | |
907 | -# assert_equal [person3, person1, person2], assigns(:searches)[:people].docs | |
908 | -# end | |
909 | -# | |
910 | -# should 'order community results by name when requested' do | |
911 | -# com1 = Community.create!(:name => 'Yellow Group') | |
912 | -# com2 = Community.create!(:name => 'Red Group') | |
913 | -# com3 = Community.create!(:name => 'Green Group') | |
914 | -# | |
915 | -# get :communities, :query => 'Group', :order_by => :name | |
916 | -# | |
917 | -# assert_equal [com3, com2, com1], assigns(:searches)[:communities].docs | |
918 | -# end | |
919 | -# | |
920 | -# should 'raise error when requested to order by unknown filter' do | |
921 | -# com1 = Community.create!(:name => 'Yellow Group') | |
922 | -# com2 = Community.create!(:name => 'Red Group') | |
923 | -# com3 = Community.create!(:name => 'Green Group') | |
924 | -# | |
925 | -# assert_raise RuntimeError do | |
926 | -# get :communities, :query => 'Group', :order_by => :something | |
927 | -# end | |
928 | -# end | |
929 | - | |
930 | 641 | should 'add highlighted CSS class around a highlighted product' do |
931 | 642 | enterprise = fast_create(Enterprise) |
932 | 643 | product = Product.create!(:name => 'Enter Sandman', :enterprise_id => enterprise.id, :product_category_id => @product_category.id, :highlighted => true) |
... | ... | @@ -941,8 +652,7 @@ class SearchControllerTest < ActionController::TestCase |
941 | 652 | assert_no_tag :tag => 'li', :attributes => { :class => 'search-product-item highlighted' }, :content => /Holier Than Thou/ |
942 | 653 | end |
943 | 654 | |
944 | - ################################################################## | |
945 | - ################################################################## | |
655 | + protected | |
946 | 656 | |
947 | 657 | def create_event(profile, options) |
948 | 658 | ev = Event.new({ :name => 'some event', :start_date => Date.new(2008,1,1) }.merge(options)) | ... | ... |
test/test_helper.rb
1 | 1 | ENV["RAILS_ENV"] = "test" |
2 | 2 | |
3 | -# Start/stop Solr | |
4 | -if not $test_helper_loaded | |
5 | - abort unless system 'rake -s solr:start' | |
6 | - at_exit { system 'rake -s solr:stop' } | |
7 | - $test_helper_loaded = true | |
8 | -end | |
9 | - | |
10 | 3 | require File.expand_path(File.dirname(__FILE__) + "/../config/environment") |
11 | 4 | require 'test_help' |
12 | 5 | require 'mocha' | ... | ... |