我有一个简单的用户登录系统:
module SessionsHelper
def logged_in?
current_user.present?
end
def current_user
@current_user ||= begin
if session[:current_user_id]
User.find(session[:current_user_id]) rescue nil
end
end
end
end
我包含在 ApplicationController 中:
class ApplicationController < ActionController::Base
include SessionsHelper
helper SessionsHelper
我正在尝试测试横幅控制器:
require 'spec_helper'
describe Admin::BannersController do
describe 'POST create' do
let(:user){ create(:user_admin) }
before do
controller.stub(:current_user){ user }
end
it "create action should render new template when model is invalid" do
Banner.any_instance.stubs(:valid?).returns(false)
post :create
response.should render_template(:new)
end
:user_admin 是正确设置的 Factory Girl 管理员用户。
但是测试仍然显示:您无权访问此页面。 这是来自康康。
我没有正确地存根吗?谢谢。