64 lines
1.9 KiB
Ruby
64 lines
1.9 KiB
Ruby
require 'test_helper'
|
|
|
|
module SessionTest
|
|
module ExistenceTest
|
|
class ClassMethodsTest < ActiveSupport::TestCase
|
|
def test_create
|
|
ben = users(:ben)
|
|
assert UserSession.create(:login => "somelogin", :password => "badpw2").new_session?
|
|
assert !UserSession.create(:login => ben.login, :password => "benrocks").new_session?
|
|
assert_raise(Authlogic::Session::Existence::SessionInvalidError) { UserSession.create!(:login => ben.login, :password => "badpw") }
|
|
assert !UserSession.create!(:login => ben.login, :password => "benrocks").new_session?
|
|
end
|
|
end
|
|
|
|
class IsntaceMethodsTest < ActiveSupport::TestCase
|
|
def test_new_session
|
|
session = UserSession.new
|
|
assert session.new_session?
|
|
|
|
set_session_for(users(:ben))
|
|
session = UserSession.find
|
|
assert !session.new_session?
|
|
end
|
|
|
|
def test_save_with_nothing
|
|
session = UserSession.new
|
|
assert !session.save
|
|
assert session.new_session?
|
|
end
|
|
|
|
def test_save_with_block
|
|
ben = users(:ben)
|
|
session = UserSession.new
|
|
block_result = session.save do |result|
|
|
assert !result
|
|
end
|
|
assert !block_result
|
|
assert session.new_session?
|
|
end
|
|
|
|
def test_save_with_bang
|
|
session = UserSession.new
|
|
assert_raise(Authlogic::Session::Existence::SessionInvalidError) { session.save! }
|
|
|
|
session.unauthorized_record = users(:ben)
|
|
assert_nothing_raised { session.save! }
|
|
end
|
|
|
|
def test_destroy
|
|
ben = users(:ben)
|
|
session = UserSession.new
|
|
assert !session.valid?
|
|
assert !session.errors.empty?
|
|
assert session.destroy
|
|
assert session.errors.empty?
|
|
session.unauthorized_record = ben
|
|
assert session.save
|
|
assert session.record
|
|
assert session.destroy
|
|
assert !session.record
|
|
end
|
|
end
|
|
end
|
|
end |