Просто интересно, как проверить, что запросы actionmailer действительно отправлены в delayed_job que в rspec.
Я бы предположил, что это было довольно просто, но моя очередь delayed_job, похоже, не увеличивается. Код ниже:
Контроллер:
def create
@contact = Contact.new(params[:contact])
if @contact.save
contactmailer = ContactMailer
contactmailer.delay.contact_message(@contact)
redirect_to(contacts_url)
else
render :action => "new"
end
Spec:
it "queues mail when a contact is created" do
expectedcount = Delayed::Job.count + 1
Contact.stub(:new).with(mock_contact()) { mock_contact(:save => true) }
post :create, :contact => mock_contact
expectedcount.should eq(Delayed::Job.count)
end
Как до, так и после вызова контроллера, Delayed:: Job.count возвращает 0. Я попытался вынести условие из контроллера, но я до сих пор не могу получить отложенное количество заданий для увеличения.
Любые предложения, оцененные - cheer