From 46e64845efff11088cb086f6b312b026e39f5275 Mon Sep 17 00:00:00 2001 From: AntonioTerceiro Date: Sun, 2 Dec 2007 05:15:06 +0000 Subject: [PATCH] ActionItem93: removing products together with their owners --- app/models/enterprise.rb | 2 +- test/unit/enterprise_test.rb | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/models/enterprise.rb b/app/models/enterprise.rb index 8ae71ac..8e69e9a 100644 --- a/app/models/enterprise.rb +++ b/app/models/enterprise.rb @@ -1,5 +1,5 @@ # An enterprise is a kind of organization. According to the system concept, # only enterprises can offer products and services. class Enterprise < Organization - has_many :products + has_many :products, :dependent => :destroy end diff --git a/test/unit/enterprise_test.rb b/test/unit/enterprise_test.rb index 9bb3cfb..cdf338a 100644 --- a/test/unit/enterprise_test.rb +++ b/test/unit/enterprise_test.rb @@ -46,4 +46,16 @@ class EnterpriseTest < Test::Unit::TestCase end end + should 'remove products when removing enterprise' do + e = Enterprise.create!(:name => "My enterprise", :identifier => 'myenterprise') + e.products.build(:name => 'One product').save! + e.products.build(:name => 'Another product').save! + + assert_difference Product, :count, -2 do + e.destroy + end + + + end + end -- libgit2 0.21.2