Improve timeoutable tests a bit.

This commit is contained in:
José Valim
2009-11-24 11:52:13 -02:00
parent 691055cf06
commit 076ce9add8
3 changed files with 12 additions and 25 deletions

View File

@@ -17,11 +17,9 @@ class SessionTimeoutTest < ActionController::IntegrationTest
end
test 'not time out user session before default limit time' do
user = sign_in_as_user
# Setup last_request_at to timeout
get edit_user_path(user)
assert_not_nil last_request_at
sign_in_as_user
assert_response :success
assert warden.authenticated?(:user)
get users_path
assert_response :success
@@ -29,12 +27,8 @@ class SessionTimeoutTest < ActionController::IntegrationTest
end
test 'time out user session after default limit time' do
sign_in_as_user
assert_response :success
assert warden.authenticated?(:user)
# Setup last_request_at to timeout
get new_user_path
user = sign_in_as_user
get expire_user_path(user)
assert_not_nil last_request_at
get users_path
@@ -46,12 +40,12 @@ class SessionTimeoutTest < ActionController::IntegrationTest
swap Devise, :timeout => 8.minutes do
user = sign_in_as_user
# Setup last_request_at to timeout
get edit_user_path(user)
get users_path
assert_not_nil last_request_at
assert_response :success
assert warden.authenticated?(:user)
get expire_user_path(user)
get users_path
assert_redirected_to new_user_session_path(:timeout => true)
assert_not warden.authenticated?(:user)
@@ -62,11 +56,9 @@ class SessionTimeoutTest < ActionController::IntegrationTest
store_translations :en, :devise => {
:sessions => { :user => { :timeout => 'Session expired!' } }
} do
sign_in_as_user
# Setup last_request_at to timeout
get new_user_path
user = sign_in_as_user
get expire_user_path(user)
get users_path
follow_redirect!
assert_contain 'Session expired!'

View File

@@ -5,13 +5,8 @@ class UsersController < ApplicationController
user_session[:cart] = "Cart"
end
def new
def expire
user_session['last_request_at'] = 31.minutes.ago.utc
render :text => 'New user!'
end
def edit
user_session['last_request_at'] = 29.minutes.ago.utc
render :text => 'Edit user!'
render :text => 'User will be expired on next request'
end
end

View File

@@ -8,7 +8,7 @@ ActionController::Routing::Routes.draw do |map|
:path_prefix => '/:locale',
:requirements => { :extra => 'value' }
map.resources :users, :only => [:index, :new, :edit]
map.resources :users, :only => [:index], :member => { :expire => :get }
map.resources :admins, :only => :index
map.root :controller => :home