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