У меня есть следующее задание Rails (с использованием гема Faktory-worker)
class MyJob
include Faktory::Job
def perform(id)
obj = Model.find(id)
email = Mailer.email_template(obj)
if(email.deliver)
// do some stuff
end
end
end
Я могу написать простой тест, но застрял в том факте, что не могу заглушить метод поставки в условном выражении. Любые идеи о том, как настроить это так, чтобы мой тест прошел?
it "sends an e-mail" do
mailer = class_double("Mailer").as_stubbed_const(:transfer_nested_constants => true)
// this does not work
mailer.stub(:deliver) { true }
expect(mailer).to receive(:email_template).with(obj)
MyJob.new.perform(obj.id)
end