admin_spec.rb
it "checks access for user" do
visit rails_admin_path
login(:user) #helper method
expect(page).to raise_error(CanCan::AccessDenied)
end控制台输出
Failure/Error: login(:user)
CanCan::AccessDenied:
You are not authorized to access this page.但测试仍然是红色的。为什么以及如何修复它?
发布于 2015-03-23 16:53:38
你看过这篇文章吗?
而不是真正访问URL,也许你可以使用can?方法来确定:user是否允许访问rails管理路径。
我猜你是在用设计?如果是这样的话,我找到了另一篇可能是有帮助的so文章。他们建议包括一个街区,以允许设计测试助手。
或者,切换到CanCanCan (这是我们目前使用的),它的工作要简单得多(因为不再支持CanCan ):
context 'sign_in' do
scenario 'with valid information should redirect to the administration dashboard', :js => true do
sign_in_with sign_in_url, registered_user.email, 'validpassword', 'admin_user'
expect(page).to have_content('Site Administration')
end
scenario 'with invalid information', :js => true do
sign_in_with sign_in_url, registered_user.email, 'invalidvalidpassword', 'admin_user'
expect(page).to have_content('Invalid email or password')
end
endhttps://stackoverflow.com/questions/29177144
复制相似问题