diff --git a/lib/ext/search_controller.rb b/lib/ext/search_controller.rb index 817e46d..e96cd63 100644 --- a/lib/ext/search_controller.rb +++ b/lib/ext/search_controller.rb @@ -61,6 +61,7 @@ class SearchController def get_filtered_software_list params[:query] ||= "" + visible_communities = visible_profiles(Community) filtered_software_list = SoftwareInfo.search_by_query(params[:query]) @@ -70,6 +71,7 @@ class SearchController @public_software_selected = false end + filtered_software_list.select!{ |software| visible_communities.include?(software.community) } category_ids = get_filter_category_ids unless category_ids.empty? diff --git a/test/functional/search_controller_test.rb b/test/functional/search_controller_test.rb index 94e5a26..f291b49 100644 --- a/test/functional/search_controller_test.rb +++ b/test/functional/search_controller_test.rb @@ -214,6 +214,7 @@ class SearchControllerTest < ActionController::TestCase assert_not_includes assigns(:searches)[:software_infos][:results], software_one.community end +<<<<<<< 5ffa5a412be43c8ca9d1a07ed84a55503bb1a3fd should "software_infos search return only enabled softwares" do s1 = SoftwareInfo.first s2 = SoftwareInfo.last @@ -239,6 +240,23 @@ class SearchControllerTest < ActionController::TestCase assert_not_includes assigns(:searches)[:software_infos][:results], s2.community end + should "software_infos search not return software with secret community" do + software_one = create_software_info("Software ABC", :acronym => "SFO", :finality => "Help") + software_two = create_software_info("Python", :acronym => "SFT", :finality => "Task") + software_three = create_software_info("Software DEF", :acronym => "SFW", :finality => "Java") + + software_one.community.secret = true + software_one.community.save! + + get( + :software_infos, + ) + + assert_includes assigns(:searches)[:software_infos][:results], software_two.community + assert_includes assigns(:searches)[:software_infos][:results], software_three.community + assert_not_includes assigns(:searches)[:software_infos][:results], software_one.community + end + private def create_software_categories -- libgit2 0.21.2