我正在使用 RSpec 来测试 Rails 中的控制器行为。我的期望之一是以下情况:
- 用户尝试使用 params 访问受保护(需要登录)的 url
/home?val=123
。 - 该用户被重定向到登录页面。
- 登录后,用户应重定向回最初请求的 URL,并带有相关参数。
我正在为我的身份验证系统使用设计(使用omniauth),并且我已经设置了推荐的宏来登录用户等等。
我对如何测试上述行为的流程有点困惑:
describe HomeController do
context "user is logged out" do
it "redirects back to original page after signin" do
# user is not signed in - redirected to login page
get :index, { :val => '12345' }
current_user.should_not be_present
expect(response).to redirect_to(login_page_path)
# should now login the user and verify
# that request.fullpath == '/home?val=12345'
# ?...
end
end
end
它甚至属于控制器规范吗?任何帮助或示例将不胜感激。谢谢。