Guest User

Untitled

a guest
Jul 6th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. ===== /spec/controllers/sessions_controller_spec.rb =======
  2.  
  3. require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
  4.  
  5. describe SessionsController do
  6. #Delete this example and add some real ones
  7. # it "should use SessionsController" do
  8. # controller.should be_an_instance_of(SessionsController)
  9. # end
  10. def mock_user(stubs={})
  11. @mock_user ||= mock_model(User, stubs)
  12. end
  13. describe "create" do
  14. # before do
  15. # @params = {:username => 'username', :password => 'password'}
  16. # end
  17. # it "should authenticate user" do
  18. # User.stub!(:authenticate).with(params[:username],params[:password]).and_return(mock_user)
  19. # post :create
  20. # assigns[:user].should eql(mock_user)
  21. # end
  22.  
  23. describe "with authenticated user" do
  24. before do
  25. @params = {:username => 'username', :password => 'password'}
  26. @usertype = mock("User")
  27. User.stub!(:new).and_return(@usertype)
  28. end
  29. it "session should contain athenticate user id,usertype,username and status" do
  30. user = mock_model(User,{:id=>'1', :usertype=>'usertype', :login=>params[:username], :status => 'status'})
  31. User.stub!(:authenticate).with(params[:username],params[:password]).and_return(user)
  32. User.should_receive(:authenticate).and_return(user)
  33. post :create
  34. session[:id].should eql(user.id)
  35. session[:usertype].should eql(user.usertype)
  36. session[:login].should eql(params[:username])
  37. session[:paypalstatus].should eql(user.status)
  38. end
  39.  
  40. it "should create new usertpye object for User" do
  41. User.should_receive(:new).with(no_args()).and_return(@usertype)
  42. post :create
  43. end
  44. end
  45. end
  46. end
  47.  
  48. =============== sessions_controller.rb ==========
  49.  
  50. # This controller handles the login/logout function of the site.
  51. class SessionsController < ApplicationController
  52. layout 'home'
  53. before_filter :profilestatus
  54. # before_filter :contestdetails #need to write spec for the filters
  55. # render new.rhtml
  56. def new
  57. end
  58.  
  59. def create
  60. user = User.authenticate(params[:username], params[:password])
  61. if user
  62. session[:id] = user.id
  63. session[:usertype] = user.usertype
  64. session[:paypalstatus] = user.status
  65. session[:login] = params[:username]
  66. @usertype = User.new
  67. @usertype = User.find(:all, :select => :usertype, :conditions => "id='#{user.id}'") # original statement
  68. # @usertype = User.find(:all, :select => :usertype, :conditions => "id='1'") # original statement
  69. end
  70. end
  71.  
  72. def destroy
  73. end
  74. end
Add Comment
Please, Sign In to add comment