photomix/vendor/plugins/authlogic/test/session_test/existence_test.rb
2011-04-11 18:07:31 +08:00

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