From a0b4958a6241aed730d9a2246c493768049967ca Mon Sep 17 00:00:00 2001 From: MoisesMachado Date: Thu, 26 Jun 2008 21:09:54 +0000 Subject: [PATCH] ActionItem497: fixed --- app/models/category_finder.rb | 2 +- test/functional/search_controller_test.rb | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/app/models/category_finder.rb b/app/models/category_finder.rb index 7c56053..25053f9 100644 --- a/app/models/category_finder.rb +++ b/app/models/category_finder.rb @@ -60,7 +60,7 @@ class CategoryFinder {:select => 'distinct comments.*', :joins => 'inner join articles_categories on articles_categories.article_id = comments.article_id', :conditions => ['articles_categories.category_id = (?)', category_id]}.merge!(options) when 'Product' if prod_cat_ids - {:joins => 'inner join categories_profiles on products.enterprise_id = categories_profiles.profile_id', :conditions => ['categories_profiles.category_id in (?) and products.product_category_id = (?)', category_id, prod_cat_ids]}.merge!(options) + {:joins => 'inner join categories_profiles on products.enterprise_id = categories_profiles.profile_id', :conditions => ['categories_profiles.category_id = (?) and products.product_category_id in (?)', category_id, prod_cat_ids]}.merge!(options) else {:joins => 'inner join categories_profiles on products.enterprise_id = categories_profiles.profile_id', :conditions => ['categories_profiles.category_id = (?)', category_id]}.merge!(options) end diff --git a/test/functional/search_controller_test.rb b/test/functional/search_controller_test.rb index f872688..6492ad7 100644 --- a/test/functional/search_controller_test.rb +++ b/test/functional/search_controller_test.rb @@ -813,6 +813,30 @@ class SearchControllerTest < Test::Unit::TestCase assert_equal 1, assigns(:counts)[cat2.id][1] end + should 'display only within a product category when specified' do + prod_cat = ProductCategory.create!(:name => 'prod cat test', :environment => Environment.default) + ent = Enterprise.create!(:name => 'test ent', :identifier => 'test_ent') + + p = prod_cat.products.create!(:name => 'prod test 1', :enterprise => ent) + + get :index, :find_in => 'products', :product_category => prod_cat.id + + assert_includes assigns(:results)[:products], p + end + + should 'display properly in conjuntion with a category' do + cat = Category.create(:name => 'cat', :environment => Environment.default) + prod_cat1 = ProductCategory.create!(:name => 'prod cat test 1', :environment => Environment.default) + prod_cat2 = ProductCategory.create!(:name => 'prod cat test 2', :environment => Environment.default, :parent => prod_cat1) + ent = Enterprise.create!(:name => 'test ent', :identifier => 'test_ent', :category_ids => [cat.id]) + + p = prod_cat2.products.create!(:name => 'prod test 1', :enterprise => ent) + + get :index, :find_in => 'products', :category_path => cat.path.split('/'), :product_category => prod_cat1.id + + assert_includes assigns(:results)[:products], p + end + should 'provide calendar for events' do get :index, :find_in => [ 'events' ] assert_equal 0, assigns(:calendar).size % 7 -- libgit2 0.21.2