У меня есть две модели, связанные простым отношением один ко многим.
class Device
has_many :events
def notify!
(...)
end
end
class Event
after_create :notify_device
belongs_to :device
private
def notify_device
device.notify!
end
end
Device#notify!
метод должен быть заглушен в тестах, так как в нормальном потоке он запускает связь с устройством, связанным через RS-232, что, очевидно, может быть недоступно в тестовой среде (не говоря уже о том, что об этом не следует уведомлять в тестах ).
Я пытался установить should_receive
ожидание для device
объекта, созданного FactoryGirl, но метод device
, используемый в Event
классе, возвращает другой объект, который не знает об этом ожидании.
Как написать тест rspec, который бы проверял тот факт, что #notify!
вызывается на правильном устройстве?