From 92d6d31a09cafc77f0ced5b946a7f72807cb6dbf Mon Sep 17 00:00:00 2001 From: Luciano Prestes Cavalcanti Date: Tue, 16 Feb 2016 13:42:58 +0000 Subject: [PATCH] Update software_infos by categories --- src/noosfero-spb/software_communities/lib/ext/search_controller.rb | 7 +------ src/noosfero-spb/software_communities/test/functional/search_controller_test.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/noosfero-spb/software_communities/lib/ext/search_controller.rb b/src/noosfero-spb/software_communities/lib/ext/search_controller.rb index 43a266c..380dea0 100644 --- a/src/noosfero-spb/software_communities/lib/ext/search_controller.rb +++ b/src/noosfero-spb/software_communities/lib/ext/search_controller.rb @@ -105,12 +105,7 @@ class SearchController unless category_ids.empty? filtered_software_list.select! do |software| - if software.nil? || software.community.nil? - false - else - result_ids = (software.community.category_ids & category_ids).sort - result_ids == category_ids.sort - end + !(software.community.category_ids & category_ids).empty? end end diff --git a/src/noosfero-spb/software_communities/test/functional/search_controller_test.rb b/src/noosfero-spb/software_communities/test/functional/search_controller_test.rb index aaca7ce..802541a 100644 --- a/src/noosfero-spb/software_communities/test/functional/search_controller_test.rb +++ b/src/noosfero-spb/software_communities/test/functional/search_controller_test.rb @@ -94,6 +94,22 @@ class SearchControllerTest < ActionController::TestCase assert_not_includes assigns(:searches)[:software_infos][:results], @softwares.last.community end + should "software_infos search softwares with one or more selected categories" do + software = create_software_info("Software Two", :acronym => "SFT", :finality => "Task") + software.save! + + get( + :software_infos, + :query => "", + :selected_categories_id => [Category.all[0], Category.all[1]] + ) + + assert_includes assigns(:searches)[:software_infos][:results], @softwares.first.community + assert_includes assigns(:searches)[:software_infos][:results], @softwares.last.community + assert_not_includes assigns(:searches)[:software_infos][:results], software.community + end + + should "software_infos search by programming language" do @softwares.first.software_languages << create_software_language("Python", "1.0") @softwares.last.software_languages << create_software_language("Java", "8.1") -- libgit2 0.21.2