2015-08-16 61 views
0

我控制器调用一个方法应用控制器,我想要写测试正确的RSpec测试:如何编写控制器

def require_admin 
    p current_user.role 
    return if current_user && current_user.role == 'admin' 
    flash[:error] = "You are not an admin" 
    redirect_to root_path 
    end 

如何编写正确的测试它,和什么样的测试应该它是?

+0

expect(response).to redirect_to() – user3624268

回答

0

您不应该测试实现。尝试测试'这个控制器动作应该如何处理非管理员用户',它可能看起来像这样:

context 'user who is not an admin' do 
    before do 
    user.role = 'not_admin' 
    get :some_action 
    end 

    it 'is redirected to root_path' do   
    expect(response).to redirect_to('/') 
    end 
    ... 
end