Wrap text
Report abuse
|
|
require "test/unit"
require 'rubygems'
require 'mocha'
require 'stubba'
require "authorization/parsers/eval_parser"
class TestEvalParserExpression < Test::Unit::TestCase
Expression = Authorization::Parsers::EvalParser::Expression
def test_current_user_when_not_logged_in
controller = stub('Controller')
controller.expects(:logged_in?).returns(false)
expression = Expression.new('test', controller)
assert_raise(Authorization::Parsers::UserIsNotLoggedInError) do
expression.current_user
end
end
def test_current_user_when_not_returning_good_user
controller = stub('Controller')
controller.expects(:logged_in?).returns(true)
controller.expects(:current_user).returns(:false)
expression = Expression.new('test', controller)
assert_raise(Authorization::Parsers::UserDoesntImplementRolesError) do
expression.current_user
end
end
def test_current_user_when_current_user_method_not_implemented
controller = stub('Controller')
controller.expects(:logged_in?).returns(true)
expression = Expression.new('test', controller)
assert_raise(Authorization::Parsers::UnableToObtainCurrentUserError) do
expression.current_user
end
end
def test_process_role_for_test_returning_false
user = stub('User')
user.expects(:has_role?).with('test').returns(false)
controller = stub('Controller')
controller.expects(:logged_in?).returns(true)
controller.expects(:current_user).returns(user)
expression = Expression.new('test', controller)
actual = expression.process_role('test')
assert_equal false, actual
end
end
|