Commit dd9fce48191ca935fd0595811c78e091eff88046
1 parent
4521fc48
Exists in
master
and in
5 other branches
Add identifier search by name and multifilter test
Signed-off-by: Gabriela Navarro <navarro1703@gmail.com> Signed-off-by: Gustavo Jaruga <darksshades@gmail.com>
Showing
2 changed files
with
43 additions
and
2 deletions
Show diff stats
lib/software_info.rb
... | ... | @@ -30,8 +30,8 @@ class SoftwareInfo < ActiveRecord::Base |
30 | 30 | values = [] |
31 | 31 | |
32 | 32 | unless name.blank? |
33 | - like_sql << "name ILIKE ? AND " | |
34 | - values << "%#{name}%" | |
33 | + like_sql << "name ILIKE ? OR identifier ILIKE ? AND " | |
34 | + values << "%#{name}%" << "%#{name}%" | |
35 | 35 | end |
36 | 36 | |
37 | 37 | unless database_description_id.blank? | ... | ... |
test/functional/search_controller_test.rb
... | ... | @@ -34,6 +34,14 @@ class SearchControllerTest < ActionController::TestCase |
34 | 34 | |
35 | 35 | end |
36 | 36 | |
37 | + should "search for people by identifier" do | |
38 | + p1 = create_user("user 1", "DF", "Gama", "user_1@user.com").person | |
39 | + | |
40 | + get :people, :query => "user-1" | |
41 | + | |
42 | + assert_includes assigns(:searches)[:people][:results], p1 | |
43 | + end | |
44 | + | |
37 | 45 | should "search for people by name" do |
38 | 46 | p1 = create_user("user_1", "DF", "Gama", "user_1@user.com").person |
39 | 47 | |
... | ... | @@ -66,6 +74,22 @@ class SearchControllerTest < ActionController::TestCase |
66 | 74 | assert_includes assigns(:searches)[:people][:results], p1 |
67 | 75 | end |
68 | 76 | |
77 | + should "search for people by email and state" do | |
78 | + p1 = create_user("user_1", "DF", "Gama", "user_1@user.com").person | |
79 | + | |
80 | + get :people, :email => "user_1@user.com", :state => "DF" | |
81 | + | |
82 | + assert_includes assigns(:searches)[:people][:results], p1 | |
83 | + end | |
84 | + | |
85 | + should "search for software by identifier" do | |
86 | + software = create_software("beautiful os") | |
87 | + | |
88 | + params = {"type"=>"Software", "query"=>"", "name"=>"beautiful-os", "database_description"=>{"id"=>""}, "programming_language"=>{"id"=>""}, "operating_system"=>{"id"=>""}, "controlled_vocabulary"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"", "internacionalizable"=>"", "commit"=>"Search"} | |
89 | + get :communities, params | |
90 | + | |
91 | + assert_includes assigns(:searches)[:communities][:results], software.community | |
92 | + end | |
69 | 93 | |
70 | 94 | should "search for software by name" do |
71 | 95 | software = create_software("beautiful") |
... | ... | @@ -216,6 +240,23 @@ class SearchControllerTest < ActionController::TestCase |
216 | 240 | |
217 | 241 | assert_includes assigns(:searches)[:communities][:results], software.community |
218 | 242 | end |
243 | + | |
244 | + should "search by e_arq and e_ping" do | |
245 | + software = create_software("beautiful") | |
246 | + software.e_arq = true | |
247 | + software.e_ping = true | |
248 | + software.save! | |
249 | + | |
250 | + params = {"type"=>"Software", "query"=>"", "name"=>"", "database_description"=>{"id"=>""}, | |
251 | + "programming_language"=>{"id"=>""}, | |
252 | + "operating_system"=>{"id"=>""}, | |
253 | + "controlled_vocabulary"=>"", "license_info"=>{"id"=>""}, "e_ping"=>"true", "e_mag"=>"", "icp_brasil"=>"", "e_arq"=>"true", "internacionalizable"=>"", | |
254 | + "commit"=>"Search"} | |
255 | + get :communities, params | |
256 | + | |
257 | + assert_includes assigns(:searches)[:communities][:results], software.community | |
258 | + end | |
259 | + | |
219 | 260 | protected |
220 | 261 | |
221 | 262 | def create_user name, state, city, email | ... | ... |