Просто интересно, как проверить, что запросы actionmailer действительно отправляются в очередь delayed_job в 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
Спецификация:
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. Я пытался вывести условное выражение из контроллера, но я по-прежнему не удается увеличить счетчик отложенных заданий.
Любые предложения приветствуются - приветствую