Grosse MàJ
This commit is contained in:
@ -0,0 +1,85 @@
|
||||
require File.dirname(__FILE__) + '/../test_helper'
|
||||
require 'sessions_controller'
|
||||
|
||||
# Re-raise errors caught by the controller.
|
||||
class SessionsController; def rescue_action(e) raise e end; end
|
||||
|
||||
class SessionsControllerTest < Test::Unit::TestCase
|
||||
# Be sure to include AuthenticatedTestHelper in test/test_helper.rb instead
|
||||
# Then, you can remove it from this and the units test.
|
||||
include AuthenticatedTestHelper
|
||||
|
||||
fixtures :users
|
||||
|
||||
def setup
|
||||
@controller = SessionsController.new
|
||||
@request = ActionController::TestRequest.new
|
||||
@response = ActionController::TestResponse.new
|
||||
end
|
||||
|
||||
def test_should_login_and_redirect
|
||||
post :create, :login => 'quentin', :password => 'test'
|
||||
assert session[:user]
|
||||
assert_response :redirect
|
||||
end
|
||||
|
||||
def test_should_fail_login_and_not_redirect
|
||||
post :create, :login => 'quentin', :password => 'bad password'
|
||||
assert_nil session[:user]
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_should_logout
|
||||
login_as :quentin
|
||||
get :destroy
|
||||
assert_nil session[:user]
|
||||
assert_response :redirect
|
||||
end
|
||||
|
||||
def test_should_remember_me
|
||||
post :create, :login => 'quentin', :password => 'test', :remember_me => "1"
|
||||
assert_not_nil @response.cookies["auth_token"]
|
||||
end
|
||||
|
||||
def test_should_not_remember_me
|
||||
post :create, :login => 'quentin', :password => 'test', :remember_me => "0"
|
||||
assert_nil @response.cookies["auth_token"]
|
||||
end
|
||||
|
||||
def test_should_delete_token_on_logout
|
||||
login_as :quentin
|
||||
get :destroy
|
||||
assert_equal @response.cookies["auth_token"], []
|
||||
end
|
||||
|
||||
def test_should_login_with_cookie
|
||||
users(:quentin).remember_me
|
||||
@request.cookies["auth_token"] = cookie_for(:quentin)
|
||||
get :new
|
||||
assert @controller.send(:logged_in?)
|
||||
end
|
||||
|
||||
def test_should_fail_expired_cookie_login
|
||||
users(:quentin).remember_me
|
||||
users(:quentin).update_attribute :remember_token_expires_at, 5.minutes.ago
|
||||
@request.cookies["auth_token"] = cookie_for(:quentin)
|
||||
get :new
|
||||
assert !@controller.send(:logged_in?)
|
||||
end
|
||||
|
||||
def test_should_fail_cookie_login
|
||||
users(:quentin).remember_me
|
||||
@request.cookies["auth_token"] = auth_token('invalid_auth_token')
|
||||
get :new
|
||||
assert !@controller.send(:logged_in?)
|
||||
end
|
||||
|
||||
protected
|
||||
def auth_token(token)
|
||||
CGI::Cookie.new('name' => 'auth_token', 'value' => token)
|
||||
end
|
||||
|
||||
def cookie_for(user)
|
||||
auth_token users(user).remember_token
|
||||
end
|
||||
end
|
@ -0,0 +1,86 @@
|
||||
require File.dirname(__FILE__) + '/../test_helper'
|
||||
require 'users_controller'
|
||||
|
||||
# Re-raise errors caught by the controller.
|
||||
class UsersController; def rescue_action(e) raise e end; end
|
||||
|
||||
class UsersControllerTest < Test::Unit::TestCase
|
||||
# Be sure to include AuthenticatedTestHelper in test/test_helper.rb instead
|
||||
# Then, you can remove it from this and the units test.
|
||||
include AuthenticatedTestHelper
|
||||
|
||||
fixtures :users
|
||||
|
||||
def setup
|
||||
@controller = UsersController.new
|
||||
@request = ActionController::TestRequest.new
|
||||
@response = ActionController::TestResponse.new
|
||||
end
|
||||
|
||||
def test_should_allow_signup
|
||||
assert_difference 'User.count' do
|
||||
create_user
|
||||
assert_response :redirect
|
||||
end
|
||||
end
|
||||
|
||||
def test_should_require_login_on_signup
|
||||
assert_no_difference 'User.count' do
|
||||
create_user(:login => nil)
|
||||
assert assigns(:user).errors.on(:login)
|
||||
assert_response :success
|
||||
end
|
||||
end
|
||||
|
||||
def test_should_require_password_on_signup
|
||||
assert_no_difference 'User.count' do
|
||||
create_user(:password => nil)
|
||||
assert assigns(:user).errors.on(:password)
|
||||
assert_response :success
|
||||
end
|
||||
end
|
||||
|
||||
def test_should_require_password_confirmation_on_signup
|
||||
assert_no_difference 'User.count' do
|
||||
create_user(:password_confirmation => nil)
|
||||
assert assigns(:user).errors.on(:password_confirmation)
|
||||
assert_response :success
|
||||
end
|
||||
end
|
||||
|
||||
def test_should_require_email_on_signup
|
||||
assert_no_difference 'User.count' do
|
||||
create_user(:email => nil)
|
||||
assert assigns(:user).errors.on(:email)
|
||||
assert_response :success
|
||||
end
|
||||
end
|
||||
|
||||
def test_should_activate_user
|
||||
assert_nil User.authenticate('aaron', 'test')
|
||||
get :activate, :activation_code => users(:aaron).activation_code
|
||||
assert_redirected_to '/'
|
||||
assert_not_nil flash[:notice]
|
||||
assert_equal users(:aaron), User.authenticate('aaron', 'test')
|
||||
end
|
||||
|
||||
def test_should_not_activate_user_without_key
|
||||
get :activate
|
||||
assert_nil flash[:notice]
|
||||
rescue ActionController::RoutingError
|
||||
# in the event your routes deny this, we'll just bow out gracefully.
|
||||
end
|
||||
|
||||
def test_should_not_activate_user_with_blank_key
|
||||
get :activate, :activation_code => ''
|
||||
assert_nil flash[:notice]
|
||||
rescue ActionController::RoutingError
|
||||
# well played, sir
|
||||
end
|
||||
|
||||
protected
|
||||
def create_user(options = {})
|
||||
post :create, :user => { :login => 'quire', :email => 'quire@example.com',
|
||||
:password => 'quire', :password_confirmation => 'quire' }.merge(options)
|
||||
end
|
||||
end
|
@ -0,0 +1,57 @@
|
||||
require File.dirname(__FILE__) + '/../test_helper'
|
||||
require 'utilisateurs_controller'
|
||||
|
||||
# Re-raise errors caught by the controller.
|
||||
class UtilisateursController; def rescue_action(e) raise e end; end
|
||||
|
||||
class UtilisateursControllerTest < Test::Unit::TestCase
|
||||
fixtures :utilisateurs
|
||||
|
||||
def setup
|
||||
@controller = UtilisateursController.new
|
||||
@request = ActionController::TestRequest.new
|
||||
@response = ActionController::TestResponse.new
|
||||
end
|
||||
|
||||
def test_should_get_index
|
||||
get :index
|
||||
assert_response :success
|
||||
assert assigns(:utilisateurs)
|
||||
end
|
||||
|
||||
def test_should_get_new
|
||||
get :new
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_should_create_utilisateur
|
||||
old_count = Utilisateur.count
|
||||
post :create, :utilisateur => { }
|
||||
assert_equal old_count+1, Utilisateur.count
|
||||
|
||||
assert_redirected_to utilisateur_path(assigns(:utilisateur))
|
||||
end
|
||||
|
||||
def test_should_show_utilisateur
|
||||
get :show, :id => 1
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_should_get_edit
|
||||
get :edit, :id => 1
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_should_update_utilisateur
|
||||
put :update, :id => 1, :utilisateur => { }
|
||||
assert_redirected_to utilisateur_path(assigns(:utilisateur))
|
||||
end
|
||||
|
||||
def test_should_destroy_utilisateur
|
||||
old_count = Utilisateur.count
|
||||
delete :destroy, :id => 1
|
||||
assert_equal old_count-1, Utilisateur.count
|
||||
|
||||
assert_redirected_to utilisateurs_path
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user