J'essaye d'obtenir un formulaire d'inscription en collaboration avec Devise; Je le test avec du concombre. Lorsqu'un utilisateur s'inscrit, j'envoie un e-mail de confirmation. Quelque chose ne va pas lors de l'exécution de mon test, cependant.'Jeton de confirmation invalide' lors des tests avec le concombre
Ceci est mon scénario:
Scenario: Signing in via confirmation
Given there are the following users:
| email | password | unconfirmed |
| [email protected] | password | true |
And "[email protected]" opens the email with subject "Confirmation instructions"
And they click the first link in the email
Then I should see "Your account was successfully confirmed."
And I should see "Signed in as [email protected]"
Cependant, je reçois l'erreur suivante:
expected there to be content "Your account was successfully confirmed. You are now signed in." in "\n Ticketee\n \n\nTicketee\nSign up\n Sign in\nResend confirmation instructions\n\n\n \n 1 error prohibited this user from being saved:\n Confirmation token is invalid\n\n\n Email\n\n \n\n Sign inSign upForgot your password?" (RSpec::Expectations::ExpectationNotMetError)
Je suppose que la partie importante est ici:
1 error prohibited this user from being saved:\n Confirmation token is invalid
Je testé cela manuellement (est allé vous inscrire et cliqué sur le lien de confirmation dans l'e-mail) et cela fonctionne bien .. C'est seulement quand j'examine avec Cucumber que j'obtiens le message 'Confirmation token is invalid'. Quelqu'un sait comment je peux résoudre ce problème? J'aimerais voir mes tests passer ..
Merci beaucoup.
EDIT: Les étapes posées dans les commentaires:
When /^(?:I|they|"([^"]*?)") opens? the email with subject "([^"]*?)"$/ do |address, subject|
open_email(address, :with_subject => subject)
end
link En cliquant:
When /^(?:I|they) click the first link in the email$/ do
click_first_link_in_email
end
Je viens de regarder l'e-mail de confirmation que je suis arrivé et mon adresse e-mail est analysé comme mailto : lien; J'ai changé le premier lien étape à ceci:
And they follow "Confirm my account" in the email
mais cela ne fonctionne pas non plus .. Je reçois toujours le message d'erreur jeton non valide.
Pouvez-vous afficher les définitions étape pour les étapes impliquant l'ouverture de l'e-mail et en cliquant sur le lien. –
@AndyWaite J'ai mis à jour le post :) – cabaret
Ah, vous utilisez la gem email_spec? Cela vaut probablement la peine de le mentionner aussi. Je crois que l'email généré apparaît dans le test.log, alors vérifiez-le et voyez si le lien est correct. –