У меня есть способ установить ожидания should_receive для фиктивного объекта, но мне это кажется немного странным.
def mock_fax_event(stubs={})
@mock_fax_event ||= mock_model(FaxEvent, stubs)
end
it "should notify facility/admin of failed faxes" do
FaxEvent.should_receive(:find_by_fax_id).with(@fax_event.fax_id).and_return(mock_fax_event(:notify_failure => true))
mock_fax_event.should_receive(:notify_failure)
post :create, :TransactionID => @fax_event.fax_id
end
Мне бы хотелось сделать что-то вроде следующего, но это нене работает:
it "should notify facility/admin of failed faxes" do
post :create, :TransactionID => @fax_event.fax_id
assigns(:fax_event).should_receive(:notify_failure)
end
Мне кажется, я понимаю, почему вышеперечисленное не работает, но я думаю, то, как я это делаю сейчас, неясно.Я также хотел бы только проверить, действительно ли вызывается notify_failure, а не часть find_by_fax_id.
Есть ли лучший способ сделать то, что я пытаюсь сделать?