unit test dependent destroy

Hi alls,

I have a model like this:

<code> class A < ActiveRecord::Base has_many :bs, :dependent => :destroy end </code>

and I have test code like this:

<code> a = create_a b = create_b(a) a.save b.save assert_difference 'B.count', -1 do # WORKS   a.destroy end assert a.destroyed? # WORKS assert b.destroyed? # FAILS - why? </code>

b is deleted from the database but the destroyed method returns false. Why ist the test failing and what can I do to make the last assert pass?

Thanks, Georg

That's because 'b' is already a stale object. You can rewrite your test to check if 'b' has really been destroyed/deleted on the DB this way:

assert B.find_by_id(b.id).nil?

HTH