我在ApplicationController中有一个来自ActionController :: InvalidAuthenticityToken,带有::invalid_token的急救包。
invalid_token
会将用户重定向到漂亮的视图,并向最终用户发送更清晰的消息。我已经尝试编写一个测试,以在Timecop gem的帮助下模拟会话到期,但是我无法使其正常工作。
我已经尝试过此解决方案来模拟过期的会话a link
user = create(:user, :with_company) visit new_user_session_path within "#sign_in_form" do fill_in :user_email, with: user.email fill_in :user_password, with: user.password click_button I18n.t("devise.sessions.new.sign_in") end assert page.has_link?(I18n.t("navbar.sign_out")) assert_current_path "/" # new_date = Time.zone.now + 1.month click_link I18n.t("breadcrumbs.orders") click_link I18n.t("orders.index.new_door") Timecop.travel 5.days.ago do #session dosent get expired click_link I18n.t("pdf_button.title") assert_redirect_to "/invalid_token" #this brokes, it says it expects another path end end
我试图在测试中使用Timecop gem模拟过期的会话以触发InvalidAuthenticityToken,这样我可以看到我的重定向有效。
提前感谢!
我有一个来自ActionController :: InvalidAuthenticityToken的rescue_,在我的ApplicationController中带有::invalid_token。 invalid_token会将用户重定向到漂亮的视图,并向...