How to test :dependent => :destroy

Hi there :slight_smile:

I wanted to know what's a good way to test whether dependent objects are really destroyed when destroying the parent object?

I have a Blog model which has_many Comment model children. These comments are set to :dependent => :destroy.

What's a good way to check this functionality in a unit test?

Thanks a lot Josh

Fernando Perez wrote:

NoMethodError: undefined method `+' for #<Class:0x22cb198>

Somewhere in your Blog or Comment code, there is a + hanging around that is trying to add an apple to a car engine.

No idea what you mean... Here's the code:

class Blog < ActiveRecord::Base   validates_presence_of :user_id, :title, :content

  belongs_to :user

  has_many :comments,     :as => :commentable,     :dependent => :destroy end

class Comment < ActiveRecord::Base   validates_presence_of :commentable,                         :subject,                         :body

  belongs_to :user   belongs_to :article   belongs_to :commentable, :polymorphic => true # Kann sowohl einem Article als auch einem Blog zugehörig sein

  def html_anchor     "comment-#{id}"   end end

have you tried:

assert_difference "Comment.count", blog.comments.count do   blog(:with_comments).destroy end

might need to put a minus before the blog.comments.count too.

:slight_smile: