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 | ... | ... |