Как проверить - с помощью rspec - какой шаблон используется при создании электронного письма? (Rails 3.0.7)
Я пытаюсь написать несколько тестов для писем, сгенерированных с помощью почтового класса, используя rspec и email_spec (Ruby on Rails 3.0.7)
Я хотел бы проверить, является ли макет, используемый для визуализации электронной почты, макетом, который был указан в классе почтовой программы.
Есть идеи, как это сделать? Я потратил 3 часа на поиски решения, но ничего не смог найти.
Спасибо!
2 ответа
Это немного обманывает, так как вы не проверяете, какой шаблон сгенерирован...
Тем не менее, я просто хотел выполнить быструю проверку работоспособности того, что генерируется правильная электронная почта (возможно), так что этого было достаточно для моих нужд:
# In RSpec:
expect(ActionMailer::Base.deliveries.last.subject)
.to eq I18n.t("name.of.email.subject")
# In MiniTest:
assert_equal I18n.t("name.of.email.subject"),
ActionMailer::Base.deliveries.last.subject
(Я понимаю, что это довольно поздний ответ. Возможно, вы уже нашли решение) Я не смогу много обновить этот ответ, но поможет ли эта страница? Он описывает, как проверить, был ли макет отрендерен. Вы можете сделать запрос get с параметрами (пример здесь), а затем проверить, отображает ли результат макет, который вы хотите отобразить.