Unit Testing Your ApplicationController
Do it!
class ApplicationControllerTest < ActiveSupport::TestCase context "An instance of ApplicationController" do setup { @controller = ApplicationController.new } should "return nil when there is no :user_id in session" do @controller.stubs(:session).returns({}) assert_nil @controller.current_user end should "retrieve the current user when there is a :user_id in session" do user = Factory(:user) @controller.stubs(:session).returns({:user_id => user.id}) assert_equal user, @controller.current_user end should "return nil when the :user_id in session can't be found in the database" do @controller.stubs(:session).returns(:user_id => 1) assert_nil @controller.current_user end end end
