Интеграционные тесты для восстановления пароля с использованием rspec, capybara и email_spec
Я пытаюсь проверить восстановление пароля с помощью rspec/capybara с помощью email_spec
Мой test.rb содержит:
config.action_mailer.delivery_method = :test
Мой тест идет так:
feature User do
let!(:user){ FactoryGirl.build(:user) }
before(:each) do
visit root_path
click_link "Sign up/in"
end
scenario "recover password" do
user.save!
click_link "Forgot password?"
fill_in "Email", :with => user.email
click_button "Send me reset password instructions"
unread_emails_for(user.email).should be_present
end
Мой тест не проходит так:
1) User recover password
Failure/Error: click_button "Send me reset password instructions"
ActionView::Template::Error:
Missing host to link to! Please provide the :host parameter,
set default_url_options[:host], or set :only_path to true
Если я установлю default_url_options, rspec попытается отправить письмо. Я не слишком уверен насчет: only_path.
Может кто-нибудь, пожалуйста, укажите мне в правильном направлении? Большое спасибо.
1 ответ
Установите следующую строку в /config/environments/test.rb
:
config.action_mailer.default_url_options = { :host => 'localhost:3000' }