Commit 92d6d31a09cafc77f0ced5b946a7f72807cb6dbf
1 parent
a6d54e06
Exists in
master
and in
3 other branches
Update software_infos by categories
- Search softwares with one or more selected categories Signed-off-by: Gabriel Silva <gabriel93.silva@gmail.com> Signed-off-by: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>
Showing
2 changed files
with
17 additions
and
6 deletions
Show diff stats
src/noosfero-spb/software_communities/lib/ext/search_controller.rb
... | ... | @@ -105,12 +105,7 @@ class SearchController |
105 | 105 | |
106 | 106 | unless category_ids.empty? |
107 | 107 | filtered_software_list.select! do |software| |
108 | - if software.nil? || software.community.nil? | |
109 | - false | |
110 | - else | |
111 | - result_ids = (software.community.category_ids & category_ids).sort | |
112 | - result_ids == category_ids.sort | |
113 | - end | |
108 | + !(software.community.category_ids & category_ids).empty? | |
114 | 109 | end |
115 | 110 | end |
116 | 111 | ... | ... |
src/noosfero-spb/software_communities/test/functional/search_controller_test.rb
... | ... | @@ -94,6 +94,22 @@ class SearchControllerTest < ActionController::TestCase |
94 | 94 | assert_not_includes assigns(:searches)[:software_infos][:results], @softwares.last.community |
95 | 95 | end |
96 | 96 | |
97 | + should "software_infos search softwares with one or more selected categories" do | |
98 | + software = create_software_info("Software Two", :acronym => "SFT", :finality => "Task") | |
99 | + software.save! | |
100 | + | |
101 | + get( | |
102 | + :software_infos, | |
103 | + :query => "", | |
104 | + :selected_categories_id => [Category.all[0], Category.all[1]] | |
105 | + ) | |
106 | + | |
107 | + assert_includes assigns(:searches)[:software_infos][:results], @softwares.first.community | |
108 | + assert_includes assigns(:searches)[:software_infos][:results], @softwares.last.community | |
109 | + assert_not_includes assigns(:searches)[:software_infos][:results], software.community | |
110 | + end | |
111 | + | |
112 | + | |
97 | 113 | should "software_infos search by programming language" do |
98 | 114 | @softwares.first.software_languages << create_software_language("Python", "1.0") |
99 | 115 | @softwares.last.software_languages << create_software_language("Java", "8.1") | ... | ... |