2
我試圖運行rspec測試。 您可以看到大部分代碼here。ActionMailer :: Base.deliveries數組未被填充
也許是相關的:CoRegEmailWorker.perform
包含此:
ProvisionalUser.where("unsubscribed = false AND disabled = false AND (email_sent_count < ? OR email_sent_count is NULL) AND (last_email_sent <= ? OR last_email_sent IS NULL) AND sign_up_date IS NULL",
ProvisionalUser::EMAIL_COUNT_LIMIT, email_sending_interval.hours.ago).
each{ |user|
begin
user.send_email
rescue Exception => ex
logger.error ex
end
}
和ProvisionalUser有這個方法:
def send_email
self.email_sent_count = self.email_sent_count.nil? ? 1 : self.email_sent_count + 1
self.last_email_sent = DateTime.now
self.disabled = true if self.email_sent_count == EMAIL_COUNT_LIMIT
self.save!
ProvisionalUserNotifier.send_registration_invite(self.id).deliver
end
最後,從MailGunNotifier
ProvisionalUserNotifier
繼承從ActionMailer
繼承。
我遇到的問題是deliveryies數組沒有被填充。在我的`config/environments/test.rb'中。我有這個:
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :test
我不確定這裏還需要什麼。
我甚至只要嘗試這個了:
require "spec_helper"
require "action_mailer"
describe "unsubscribe functionality" do
pu1 = ProvisionalUser.new
pu1.email = '[email protected]'
pu1.partner = 'partner'
pu1.first_name = 'joe'
pu1.save!
before(:each) do
ActionMailer::Base.delivery_method = :test
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.deliveries = []
end
it "should send emails to subscribed users only" do
unsubscribed_user = FactoryGirl.build(:unsubscribed_user)
unsubscribed_user.save!
subscribed_user = FactoryGirl.create(:subscribed_user)
CoRegEmailWorker.perform
ActionMailer::Base.deliveries.length.should == 1
ActionMailer::Base.deliveries.first.email.should =~ subscribed_user.email
#sent.first.email.should_not =~ unsubscribed_user.email
#sent.first.email.should =~ subscribed_user.email
end
def sent
ActionMailer::Base.deliveries
end
end
試圖發送電子郵件的位在哪裏? – 2012-01-13 20:06:30
看到我的更新,但基本上'CoRegEmailWorker.perform'調用'ProvisionalUser'中的'user.send_email',它調用'ProvisionalUserNotifier.deliver'。 'ProvisionalUserNotifier'繼承自從'ActionMailer'繼承的'MailGunNotifier'。 – Ramy 2012-01-13 20:13:28
來自'rescue Exception'塊的日誌文件中的任何內容? (我認爲這很危險,因爲它會捕獲像語法錯誤之類的東西) – 2012-01-13 20:16:01