55 lines
1.7 KiB
Ruby
55 lines
1.7 KiB
Ruby
|
require 'test_helper'
|
||
|
|
||
|
module ActsAsAuthenticTest
|
||
|
class PersistenceTokenTest < ActiveSupport::TestCase
|
||
|
def test_after_password_set_reset_persistence_token
|
||
|
ben = users(:ben)
|
||
|
old_persistence_token = ben.persistence_token
|
||
|
ben.password = "newpass"
|
||
|
assert_not_equal old_persistence_token, ben.persistence_token
|
||
|
end
|
||
|
|
||
|
def test_after_password_verification_reset_persistence_token
|
||
|
ben = users(:ben)
|
||
|
old_persistence_token = ben.persistence_token
|
||
|
assert ben.valid_password?(password_for(ben))
|
||
|
assert_equal old_persistence_token, ben.persistence_token
|
||
|
|
||
|
# only update it if it is nil
|
||
|
assert ben.update_attribute(:persistence_token, nil)
|
||
|
assert ben.valid_password?(password_for(ben))
|
||
|
assert_not_equal old_persistence_token, ben.persistence_token
|
||
|
end
|
||
|
|
||
|
def test_before_validate_reset_persistence_token
|
||
|
u = User.new
|
||
|
assert !u.valid?
|
||
|
assert_not_nil u.persistence_token
|
||
|
end
|
||
|
|
||
|
def test_forget_all
|
||
|
http_basic_auth_for(users(:ben)) { UserSession.find }
|
||
|
http_basic_auth_for(users(:zack)) { UserSession.find(:ziggity_zack) }
|
||
|
assert UserSession.find
|
||
|
assert UserSession.find(:ziggity_zack)
|
||
|
User.forget_all
|
||
|
assert !UserSession.find
|
||
|
assert !UserSession.find(:ziggity_zack)
|
||
|
end
|
||
|
|
||
|
def test_forget
|
||
|
ben = users(:ben)
|
||
|
zack = users(:zack)
|
||
|
http_basic_auth_for(ben) { UserSession.find }
|
||
|
http_basic_auth_for(zack) { UserSession.find(:ziggity_zack) }
|
||
|
|
||
|
assert ben.reload.logged_in?
|
||
|
assert zack.reload.logged_in?
|
||
|
|
||
|
ben.forget!
|
||
|
|
||
|
assert !UserSession.find
|
||
|
assert UserSession.find(:ziggity_zack)
|
||
|
end
|
||
|
end
|
||
|
end
|