Guest User

Untitled

a guest
Apr 16th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. ## users_controller_test.rb
  2.  
  3. def test_should_login_user_valid
  4. params = {:user => {:username => users(:valid).username, :password => users(:valid).password}}
  5. post :login, params
  6. assert_redirected_to dashboard_url
  7. end
  8.  
  9. ## users_controller.rb
  10.  
  11. def login
  12. if request.post?
  13.  
  14. @user = User.authenticate(params[:user][:username], MD5.new(params[:user][:password]).hexdigest)
  15. unless @user.nil?
  16. session[:user] = @user
  17. flash[:notice] = "Successfully logged in. Welcome #{session[:user].username}"
  18. redirect_to dashboard_url
  19. else
  20. flash.now[:warning] = "You could not be logged in with the provided credentials."
  21. end
  22.  
  23. end
  24.  
  25. end
  26.  
  27. ## users/_login.html.erb
  28.  
  29. <% form_for(:user) do |u| %>
  30.  
  31. <%= u.label :username %><%= u.text_field :username %><br />
  32. <%= u.label :password %><%= u.password_field :password %><br />
  33. <br />
  34. <%= u.submit "Login", :disable_with => "Logging in..." %>
  35. <br />
  36. <% end %>
  37.  
  38. ## models/user.rb
  39.  
  40. def self.authenticate(username, password)
  41. find(:first, :conditions => ["username = ? AND password = ?", username, password])
  42. end
  43.  
  44. ## fixtures/users.yml
  45.  
  46. valid:
  47. username: ValidUser1
  48. password: <%= MD5.new('test').hexdigest %>
  49. email: validEmail@email.com
  50. created_at: <%= 3.months.ago.to_s(:db) %>
  51. updated_at: <%= 2.weeks.ago.to_s(:db) %>
Add Comment
Please, Sign In to add comment