From 34b4e764ab8b00fa24c9ffead40494acd4c9da6b Mon Sep 17 00:00:00 2001 From: hukl Date: Sun, 13 Sep 2009 12:58:14 +0200 Subject: added :dependent => :destroy to asset model so related assets get deleted as the asset they're referencing is deleted. Closes #25 --- app/models/asset.rb | 1 + test/unit/asset_test.rb | 21 ++++++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/models/asset.rb b/app/models/asset.rb index 41823e7..5bfea76 100644 --- a/app/models/asset.rb +++ b/app/models/asset.rb @@ -1,5 +1,6 @@ class Asset < ActiveRecord::Base + has_many :related_assets, :dependent => :destroy has_many :pages, :through => :related_assets has_attached_file( diff --git a/test/unit/asset_test.rb b/test/unit/asset_test.rb index 58aba76..a1041e4 100644 --- a/test/unit/asset_test.rb +++ b/test/unit/asset_test.rb @@ -1,8 +1,23 @@ require 'test_helper' class AssetTest < ActiveSupport::TestCase - # Replace this with your real tests. - test "the truth" do - assert true + + test "related assets get destroyed when assets get destroyed" do + Asset.delete_all + RelatedAsset.delete_all + + assert asset = Asset.create + assert node = Node.root.children.create( :slug => "asset" ) + assert_equal [], node.draft.assets + + draft = node.draft + draft.assets << asset + assert_equal 1, draft.assets.length + + asset.destroy + draft.reload + assert_equal 0, draft.assets.length + assert_equal 0, RelatedAsset.count end + end -- cgit v1.3