112 lines
3.4 KiB
Ruby
112 lines
3.4 KiB
Ruby
require 'test_helper'
|
|
|
|
module SessionTest
|
|
module CookiesTest
|
|
class ConfiTest < ActiveSupport::TestCase
|
|
def test_cookie_key
|
|
UserSession.cookie_key = "my_cookie_key"
|
|
assert_equal "my_cookie_key", UserSession.cookie_key
|
|
|
|
UserSession.cookie_key "user_credentials"
|
|
assert_equal "user_credentials", UserSession.cookie_key
|
|
end
|
|
|
|
def test_default_cookie_key
|
|
assert_equal "user_credentials", UserSession.cookie_key
|
|
assert_equal "back_office_user_credentials", BackOfficeUserSession.cookie_key
|
|
end
|
|
|
|
def test_remember_me
|
|
UserSession.remember_me = true
|
|
assert_equal true, UserSession.remember_me
|
|
session = UserSession.new
|
|
assert_equal true, session.remember_me
|
|
|
|
UserSession.remember_me false
|
|
assert_equal false, UserSession.remember_me
|
|
session = UserSession.new
|
|
assert_equal false, session.remember_me
|
|
end
|
|
|
|
def test_remember_me_for
|
|
UserSession.remember_me_for = 3.years
|
|
assert_equal 3.years, UserSession.remember_me_for
|
|
session = UserSession.new
|
|
session.remember_me = true
|
|
assert_equal 3.years, session.remember_me_for
|
|
|
|
UserSession.remember_me_for 3.months
|
|
assert_equal 3.months, UserSession.remember_me_for
|
|
session = UserSession.new
|
|
session.remember_me = true
|
|
assert_equal 3.months, session.remember_me_for
|
|
end
|
|
end
|
|
|
|
class InstanceMethodsTest < ActiveSupport::TestCase
|
|
def test_credentials
|
|
session = UserSession.new
|
|
session.credentials = {:remember_me => true}
|
|
assert_equal true, session.remember_me
|
|
end
|
|
|
|
def test_remember_me
|
|
session = UserSession.new
|
|
assert_equal false, session.remember_me
|
|
assert !session.remember_me?
|
|
|
|
session.remember_me = false
|
|
assert_equal false, session.remember_me
|
|
assert !session.remember_me?
|
|
|
|
session.remember_me = true
|
|
assert_equal true, session.remember_me
|
|
assert session.remember_me?
|
|
|
|
session.remember_me = nil
|
|
assert_nil session.remember_me
|
|
assert !session.remember_me?
|
|
|
|
session.remember_me = "1"
|
|
assert_equal "1", session.remember_me
|
|
assert session.remember_me?
|
|
|
|
session.remember_me = "true"
|
|
assert_equal "true", session.remember_me
|
|
assert session.remember_me?
|
|
end
|
|
|
|
def test_remember_me_until
|
|
session = UserSession.new
|
|
assert_nil session.remember_me_until
|
|
|
|
session.remember_me = true
|
|
assert 3.months.from_now <= session.remember_me_until
|
|
end
|
|
|
|
def test_persist_persist_by_cookie
|
|
ben = users(:ben)
|
|
assert !UserSession.find
|
|
set_cookie_for(ben)
|
|
assert session = UserSession.find
|
|
assert_equal ben, session.record
|
|
end
|
|
|
|
def test_after_save_save_cookie
|
|
ben = users(:ben)
|
|
session = UserSession.new(ben)
|
|
assert session.save
|
|
assert_equal "#{ben.persistence_token}::#{ben.id}", controller.cookies["user_credentials"]
|
|
end
|
|
|
|
def test_after_destroy_destroy_cookie
|
|
ben = users(:ben)
|
|
set_cookie_for(ben)
|
|
session = UserSession.find
|
|
assert controller.cookies["user_credentials"]
|
|
assert session.destroy
|
|
assert !controller.cookies["user_credentials"]
|
|
end
|
|
end
|
|
end
|
|
end |