Ich versuche, die Funktion zum Zurücksetzen des Kennworts (Devise) in meiner App mithilfe von Cucumber zu testen. i Klicken Sie auf die reset password
Link Erstellen eines Benutzers und die E-Mail-Adresse eingeben, innerhalb meiner Konsole dann merke ich das reset_password_token
FeldZugriff auf Token zum Zurücksetzen des Kennworts Rails 4 und Devise
I, [2016-12-23T09:35:49.937441 #2164] INFO -- : Parameters: {"utf8"=>"✓", "user"=>{"email"=>"[email protected]"}, "commit"=>"Send me reset password instructions"}
D, [2016-12-23T09:35:49.939803 #2164] DEBUG -- : User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."email" = $1 ORDER BY "users"."id" ASC LIMIT 1 [["email", "[email protected]"]]
D, [2016-12-23T09:35:50.122728 #2164] DEBUG -- : User Load (0.6ms) SELECT "users".* FROM "users" WHERE "users"."reset_password_token" = $1 ORDER BY "users"."id" ASC LIMIT 1 [["reset_password_token", "6e67df7cd7824cf21939a45e9cfe4a399e78216d471432b8b55d7a8cbddc800a"]]
D, [2016-12-23T09:35:50.123615 #2164] DEBUG -- : (0.1ms) BEGIN
D, [2016-12-23T09:35:50.125628 #2164] DEBUG -- : SQL (0.5ms) UPDATE "users" SET "reset_password_token" = $1, "reset_password_sent_at" = $2, "updated_at" = $3 WHERE "users"."id" = $4 [["reset_password_token", "6e67df7cd7824cf21939a45e9cfe4a399e78216d471432b8b55d7a8cbddc800a"], ["reset_password_sent_at", "2016-12-23 09:35:50.123253"], ["updated_at", "2016-12-23 09:35:50.123915"], ["id", 1]]
Im Rahmen meiner Schritte aktualisiert wird dann bekomme ich das Token und versuchen, es zu benutzen.
Given(/^the user resets their password$/) do
@user = User.last
visit edit_user_password_path(reset_password_token: @user.reset_password_token)
fill_in 'user_password', with: 'NewPassword'
fill_in 'user_password_confirmation', with: 'NewPassword'
submit_form
end
Im Passwort zurücksetzen E-Mail, obwohl ich
<a href="http://localhost:4000/users/password/edit?reset_password_token=ZUjy2Y3snR3u7diRoAC4">Change my password</a>
bemerken, die von
<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>
generiert Wie greife ich auf die richtigen Werte Token so i das Zurücksetzen eines Benutzer testen können passwort
Danke
Ihre Frage nicht klar ist, verwenden. Möchten Sie den Benutzer also nach 'ZUjy2Y3snR3u7diRoAC4' oder nach' 6e67df7cd7824cf21939a45e9cfe4a399e78216d471432b8b55d7a8cbddc800a' suchen? – 31piy
Was ich frage ist, warum bekomme ich zwei verschiedene Werte und wie finde ich den Benutzer von @ resource.token Ich denke – Richlewis
@Recklewis bitte überprüfen Sie meine Antwort. – 31piy