Остановите вызов к почтовой программе в этой спецификации, как это должно быть сделано? - PullRequest
0 голосов
/ 22 января 2019

У меня есть следующее задание 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...