Sto usando rspec/capybara/devise per condurre test di integrazione in un'app. Una delle caratteristiche dell'app è la "Registrazione account" sempre popolata utilizzando una funzione di conferma (ad esempio, registrati - ricevi un'email di conferma - fai clic sul link - l'account è convalidato).Test "Conferma account" con rails/rspec/capybara/devise
require 'spec_helper'
describe "User Authentication" do
describe "New user" do
before(:each) do
@user = Factory.build(:user)
end
it "can confirm account by clicking on confirmation link" do
visit root_path
click_link "Register"
page.should have_content "Register for an account"
fill_in "user_email", :with => @user.email
fill_in "user_password", :with => @user.password
fill_in "user_password_confirmation", :with => @user.password
fill_in "user_first_name", :with => @user.first_name
fill_in "user_last_name", :with => @user.last_name
fill_in "user_city", :with => @user.city
fill_in "user_province", :with => @user.province
fill_in "user_country", :with => @user.country
fill_in "user_expertise", :with => @user.expertise
choose "user_experience_professional"
click_button "Go!"
last_email.to.should include(@user.email)
end
end
end
qui sono i miei aiutanti:
collegamentomodule MailerMacros
def last_email
ActionMailer::Base.deliveries.last
end
end
La conferma è nella e-mail HTML generato. Sarebbe bello poter fare qualcosa del genere (assumendo "Conferma il mio account") è il link per la convalida dell'account.
last_email.body.find_link("Confirm My Account").click_link
Qualcuno ha qualche suggerimento in essere in grado di identificare i link in un'email che potrebbe andare in un request_spec?
Grazie
appena realizzato questa è una domanda vecchio anno. – PriyankaK
Ancora mi ha aiutato. Mettimi nella gemma email_spec che è fantastica! Puoi anche utilizzare 'click_first_link_in_email email' in email_spec – mattvv
@mattvv Ho provato '' 'click_first_link_in_email''', ma non ha funzionato per me.Grazie per la risposta! – PriyankaK