У меня есть код в моей модели (ROR 3.0.x), который более или менее похоже на это:
class Message
after_create :notify
protected
def notify
if visible?
Notifier.message_from_portfolio( user, self ).deliver
else
Notifier.invisible_message_from_portfolio( user, self ).deliver
end
end
end
, и я использую последний драгоценный камень RSPEC, чтобы проверить его. Проблема в том, что я не могу проверить метод уведомления: если я проверю его напрямую, я не могу, потому что он защищен, если я создаю сообщение и установить ожидания, это не работает, потому что, по-видимому, даже хотя RSPEC запускает Metod Я не могу поймать звонки во времени.
Мой спецификация:
describe :notification do
it "should send the whole message by email when visible" do
u = Factory.create( :user, :account_type => 1 )
message = u.messages.build( :body => "Whatever", :author => "Nobody", :email => "test@example.com" )
Notifier.should_receive( :message_from_portfolio )
message.save
end
end
Увередитель объекта никогда не получает Message_From_Portfolio. Что я делаю не так? Предложения?