I have some code that emulates authentication in my controller tests.
Don't know, if it's good to use, but:
# returns current fake user
def current_user
@current_user ||= Factory(:user)
end
# returns current session mock
def user_session
@user_session = mock
@user_session.stubs(:user).returns(current_user)
@user_session.stubs(:record)
@user_session
end
# logges me in
def login
UserSession.stubs(:find).returns( user_session )
end
# logges me out
def logout
@user_session = nil
end
That works fine for me right now, but still, should be improved.