diff --git a/src/oc-id/app/models/user.rb b/src/oc-id/app/models/user.rb index abb67c4dc1..82f6e66320 100644 --- a/src/oc-id/app/models/user.rb +++ b/src/oc-id/app/models/user.rb @@ -126,7 +126,7 @@ def admin?(username) def find(username) begin - if (username.include?('@')) + if (username != nil && username.include?('@')) users = self.new.chef.get( "users?#{{ email: username }.to_query}" ) diff --git a/src/oc-id/spec/models/user_spec.rb b/src/oc-id/spec/models/user_spec.rb index a7d59f7d3e..abb47bdbbd 100644 --- a/src/oc-id/spec/models/user_spec.rb +++ b/src/oc-id/spec/models/user_spec.rb @@ -60,6 +60,10 @@ expect(User.find(jimmy.email)).to eql(jimmy) end + it 'doesnt blow up when user is nil' do + expect(User.find(nil)).to be_nil + end + describe 'updating a password' do fields = [:current_password, :new_password, :password_confirmation] fields.each do |f|