Testen der Weiterleitung nach dem login mit Entwickeln
-
26-09-2019 - |
Frage
Ich habe folgte der Empfehlung aus dem Entwickeln, github-Seiten für dieses:
Nun, das funktioniert gut, aber wie würden Sie testen, dass Sie dieses Verhalten jetzt?
Lösung
Nun, es gibt zwei Arten von Tests es in der unit-Ebene durch das schreiben von tests für den Controller, die Erben der application-controller.Der code wird so Aussehen
it "should redirect to page_x after logged in" do
sign_in :user_role, @user
set_devise_mapping(:user_role)
get :new
response.should redirect_to(user_roles_dashboard_path)
end
Für Gurken sollte man wohl schreiben, einen Schritt zu tun, den login und geltend zu machen, wenn u sind auf die voraussichtlich nach sign_in Seite.
Andere Tipps
HM ... Ich denke, Sie sollten eigene Integrationstests schreiben, um das Verhalten zu überprüfen. Sie benötigen keine Unit -Tests oder Funktionstests, wenn Sie sich nicht mit dem Devise -Code angelegt haben.
Wenn Sie nur einen Mini -Test verwenden, wäre es so etwas:
require 'test_helper'
class SessionsControllerTest < ActionDispatch::IntegrationTest
include Devise::Test::IntegrationHelpers
test "admins should be redirected to comments_url" do
sign_in(users(:one))
post user_session_url
assert_redirected_to comments_url
end
test "No admins should be redirected to root_path" do
sign_in(users(:two))
post user_session_url
assert_redirected_to root_url
end
end