Я пытаюсь запустить тест rspec.
Вы можете увидеть большую часть этого кода здесь .
Может быть, это актуально: 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 имеет этот метод:
* * 1010
Наконец, ProvisionalUserNotifier
наследуется от MailGunNotifier
, который наследуется от ActionMailer
.
Проблема, с которой я столкнулся, состоит в том, что массив поставок не заполняется. В моем `config / environment / 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 = 'contact_me@test.com'
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