52 lines
1.4 KiB
Ruby
52 lines
1.4 KiB
Ruby
|
require 'test_helper'
|
||
|
|
||
|
module SessionTest
|
||
|
module TimeoutTest
|
||
|
class ConfigTest < ActiveSupport::TestCase
|
||
|
def test_logout_on_timeout
|
||
|
UserSession.logout_on_timeout = true
|
||
|
assert UserSession.logout_on_timeout
|
||
|
|
||
|
UserSession.logout_on_timeout false
|
||
|
assert !UserSession.logout_on_timeout
|
||
|
end
|
||
|
end
|
||
|
|
||
|
class InstanceMethods < ActiveSupport::TestCase
|
||
|
def test_stale_state
|
||
|
UserSession.logout_on_timeout = true
|
||
|
ben = users(:ben)
|
||
|
ben.last_request_at = 3.years.ago
|
||
|
ben.save
|
||
|
set_session_for(ben)
|
||
|
|
||
|
session = UserSession.new
|
||
|
assert session.persisting?
|
||
|
assert session.stale?
|
||
|
assert_equal ben, session.stale_record
|
||
|
assert_nil session.record
|
||
|
assert_nil controller.session["user_credentials_id"]
|
||
|
|
||
|
set_session_for(ben)
|
||
|
|
||
|
ben.last_request_at = Time.now
|
||
|
ben.save
|
||
|
|
||
|
assert session.persisting?
|
||
|
assert !session.stale?
|
||
|
assert_nil session.stale_record
|
||
|
|
||
|
UserSession.logout_on_timeout = false
|
||
|
end
|
||
|
|
||
|
def test_successful_login
|
||
|
UserSession.logout_on_timeout = true
|
||
|
ben = users(:ben)
|
||
|
assert UserSession.create(:login => ben.login, :password => "benrocks")
|
||
|
assert session = UserSession.find
|
||
|
assert_equal ben, session.record
|
||
|
UserSession.logout_on_timeout = false
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|