Прежде всего, вы должны доверять mongoid
звонить after_save
и тестировать my_callback_method
в изоляции.
Теперь, как сказано в комментариях, что вы хотите проверить, удалил ли кто-то after_save
, вы можете добавить тест для:
RSpec.describe Author, :type => :model do
context "Author" do
it "should define my_callback_method for after_save" do
result = Author._save_callbacks.select { |cb| cb.kind.eql?(:after) }.collect(&:filter).include?(:my_callback_method)
expect(result).to eq true
end
end
end
Ваш код выглядит правильно, но в Mongoid есть ряд нерешенных проблем, связанных с постоянными обратными вызовами. Убедитесь, что обратный вызов вызывается при нормальной работе (т. Е. При сохранении сообщения из консоли Rails).