/
cookies_test.rb
107 lines (89 loc) · 3.25 KB
/
cookies_test.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
require File.dirname(__FILE__) + '/../test_helper.rb'
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_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