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