60 lines
1.7 KiB
Ruby
60 lines
1.7 KiB
Ruby
|
require 'test_helper'
|
||
|
|
||
|
module SessionTest
|
||
|
module SessionTest
|
||
|
class ConfigTest < ActiveSupport::TestCase
|
||
|
def test_disable_magic_states_config
|
||
|
UserSession.disable_magic_states = true
|
||
|
assert_equal true, UserSession.disable_magic_states
|
||
|
|
||
|
UserSession.disable_magic_states false
|
||
|
assert_equal false, UserSession.disable_magic_states
|
||
|
end
|
||
|
end
|
||
|
|
||
|
class InstanceMethodsTest < ActiveSupport::TestCase
|
||
|
def test_disabling_magic_states
|
||
|
UserSession.disable_magic_states = true
|
||
|
|
||
|
ben = users(:ben)
|
||
|
ben.update_attribute(:active, false)
|
||
|
assert UserSession.create(ben)
|
||
|
|
||
|
UserSession.disable_magic_states = false
|
||
|
end
|
||
|
|
||
|
def test_validate_validate_magic_states_active
|
||
|
session = UserSession.new
|
||
|
ben = users(:ben)
|
||
|
session.unauthorized_record = ben
|
||
|
assert session.valid?
|
||
|
|
||
|
ben.update_attribute(:active, false)
|
||
|
assert !session.valid?
|
||
|
assert session.errors[:base].size > 0
|
||
|
end
|
||
|
|
||
|
def test_validate_validate_magic_states_approved
|
||
|
session = UserSession.new
|
||
|
ben = users(:ben)
|
||
|
session.unauthorized_record = ben
|
||
|
assert session.valid?
|
||
|
|
||
|
ben.update_attribute(:approved, false)
|
||
|
assert !session.valid?
|
||
|
assert session.errors[:base].size > 0
|
||
|
end
|
||
|
|
||
|
def test_validate_validate_magic_states_confirmed
|
||
|
session = UserSession.new
|
||
|
ben = users(:ben)
|
||
|
session.unauthorized_record = ben
|
||
|
assert session.valid?
|
||
|
|
||
|
ben.update_attribute(:confirmed, false)
|
||
|
assert !session.valid?
|
||
|
assert session.errors[:base].size > 0
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|