Commit 4e6065c448a3461e55141c1d6ec4f1603fd4efa9
1 parent
208311e8
Exists in
master
and in
22 other branches
[stoa] Avoiding crash if no field is passed to matches
Showing
2 changed files
with
5 additions
and
1 deletions
Show diff stats
plugins/stoa/lib/stoa_plugin/usp_user.rb
| ... | ... | @@ -15,7 +15,7 @@ class StoaPlugin::UspUser < ActiveRecord::Base |
| 15 | 15 | def self.matches?(usp_id, field, value) |
| 16 | 16 | usp_id.to_s.gsub!(/[.-]/,'') |
| 17 | 17 | user = StoaPlugin::UspUser.find_by_codpes(usp_id.to_i) |
| 18 | - return false if user.nil? || !user.respond_to?(field) || value.blank? | |
| 18 | + return false if user.nil? || field.blank? || !user.respond_to?(field) || value.blank? | |
| 19 | 19 | case field.to_sym |
| 20 | 20 | when :cpf |
| 21 | 21 | value.to_s.gsub!(/[.-]/,'') | ... | ... |
plugins/stoa/test/unit/usp_user_test.rb
| ... | ... | @@ -43,5 +43,9 @@ class StoaPlugin::UspUserTest < ActiveSupport::TestCase |
| 43 | 43 | assert StoaPlugin::UspUser.exists?('0000123456') |
| 44 | 44 | assert StoaPlugin::UspUser.matches?(123456, :cpf, '00012345678') |
| 45 | 45 | end |
| 46 | + | |
| 47 | + should 'return false if field is nil' do | |
| 48 | + assert !StoaPlugin::UspUser.matches?(123456, nil, '00012345678') | |
| 49 | + end | |
| 46 | 50 | end |
| 47 | 51 | ... | ... |