Rails 4 + Devise: Wie schreibe ich einen Test für Devise Reset Password ohne RSpec?

8

Aus Gründen außerhalb meiner Kontrolle kann ich RSpec nicht zum Testen in meinem aktuellen Projekt verwenden. Ich versuche Devise Reset Password zu testen, und ich kann mir nicht vorstellen, dass etwas funktioniert.

Folgendes habe ich bisher:

%Vor%

Ich habe oben einige Kommentare hinzugefügt, wo die Dinge scheinbar nicht funktionieren. Hat jemand einen Einblick oder eine Idee, wie man das besser testen kann?

    
justindao 10.11.2014, 16:34
quelle

3 Antworten

6

Ich habe herausgefunden, dass Sie den Benutzer neu laden müssen, nachdem Sie die E-Mail zum Zurücksetzen des Passworts gesendet haben und wenn put t die /user/password Route ist. Sie müssen auch das Passwort-Token von der E-Mail erhalten, da es sich von dem in der Datenbank gespeicherten Token unterscheidet.

%Vor%     
justindao 12.11.2014, 21:49
quelle
11

Devise testet PasswordsController intern. Ich wollte meine PasswordsController mit zusätzlichen Funktionen testen und ging zu Controller-Tests von Devise Hilfe beim Erstellen von Tests für die Standardfunktionalität von Devise, dann Hinzufügen von Assertionen für meine neue Funktionalität in den Testfall.

Wie in anderen Antworten erwähnt, müssen Sie die reset_password_token erhalten. Anstatt eine gelieferte E-Mail wie in einer anderen Lösung zu analysieren, können Sie das Token auf die gleiche Weise wie Devise erhalten:

%Vor%

Sehen Sie sich die Lösung von Devise für PasswordControllerTest an:

Ссылка .

    
sealocal 13.04.2015 15:55
quelle
3
%Vor%

Dieser Code benötigt email_spec und FactoryGirl-Edelsteine.

    
boblin 11.09.2015 13:19
quelle