У меня есть ActionMailer
класс
class UserMailer < ActionMailer::Base
default from: "no-reply@spicy-millennium.com"
def submission_reminder user
@user = user
mail :to => user.email, :subject => "Your timesheet needs to be submitted!"
end
end
Если я вызываю UserMailer.submission_reminder(current_user)
в процессе разработки, он возвращает мне Mail::Message
объект, как и ожидалось.
Место в моем приложении, где вызывается этот метод, находится в модуле, который у меня есть в папке lib:
module TimesheetSubmissionNotifier
def self.send_submission_reminders
User.all.each { |user| UserMailer.submission_reminder(user).deliver }
end
end
Когда я вызываю TimesheetSubmissionNotifier.send_submission_reminders
в разработке, UserMailer.submission_remind (user) возвращает почтовое сообщение и вызывается доставка, все работает как надо.
Проблема в том, что когда я вызываю TimesheetSubmissionNotifier.send_submission_reminders
через тест rspec, UserMailer.submission_reminder(user)
возвращает ноль.
Если я вызываю UserMailer.submission_reminder(user)
непосредственно из теста rspec,он возвращает почтовое сообщение, как и ожидалось.
Вот только строки, связанные с ActionMailer, в моем config / environment / test.rb:
config.action_mailer.delivery_method = :test
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
Есть идеи, почему метод возвращает nil?