require File.dirname(__FILE__) + '/../test_helper' require 'account_controller' # Raise errors beyond the default web-based presentation class AccountController; def rescue_action(e) raise e end; end class AccountControllerTest < Test::Unit::TestCase fixtures :users def setup @controller = AccountController.new @request = ActionController::TestRequest.new @response = ActionController::TestResponse.new @request.host = "localhost" end def test_auth_bob @request.session[:return_to] = "/bogus/location" post :login, :user_login => "bob", :user_password => "test" assert_session_has :user assert_equal @bob, @response.session[:user] assert_redirect_url "/bogus/location" end def test_signup @request.session[:return_to] = "/bogus/location" post :signup, :user => { :login => "newbob", :password => "newpassword", :password_confirmation => "newpassword" } assert_session_has :user assert_redirect_url "/bogus/location" end def test_bad_signup @request.session[:return_to] = "/bogus/location" post :signup, :user => { :login => "newbob", :password => "newpassword", :password_confirmation => "wrong" } assert_invalid_column_on_record "user", :password assert_success post :signup, :user => { :login => "yo", :password => "newpassword", :password_confirmation => "newpassword" } assert_invalid_column_on_record "user", :login assert_success post :signup, :user => { :login => "yo", :password => "newpassword", :password_confirmation => "wrong" } assert_invalid_column_on_record "user", [:login, :password] assert_success end def test_invalid_login post :login, :user_login => "bob", :user_password => "not_correct" assert_session_has_no :user assert_template_has "login" end def test_login_logoff post :login, :user_login => "bob", :user_password => "test" assert_session_has :user get :logout assert_session_has_no :user end # Replace this with your real tests. def test_truth assert true end end