Я использую rspec-rails и хочу проверить, отображает правильный шаблон представления.
describe MyMailer do
describe '#notify_customer' do
it 'sends a notification' do
# fire
email = MyMailer.notify_customer.deliver
expect(ActionMailer::Base.deliveries).not_to be_empty
expect(email.from).to include "[email protected]"
# I would like to test here something like
# ***** HOW ? *****
expect(template_path).to eq("mailers/my_mailer/notify_customer")
end
end
end
Это верный подход? Или я должен сделать что-то совершенно другое?
Обновить
MyMailer#notify_customer
может иметь некоторую логику (например, в зависимости от локали клиента) для выбора другого шаблона при разных обстоятельствах. Это более или менее похожая проблема с контроллерами, отображающими разные шаблоны представления при разных обстоятельствах. С помощью RSpec
вы можете написать
expect(response).to render_template "....."
и это работает. Ищу что-то подобное для почтовиков.