diff --git a/app/models/environment.rb b/app/models/environment.rb index c8665ee..2009252 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -184,7 +184,7 @@ class Environment < ActiveRecord::Base has_many :product_categories, :conditions => { :type => 'ProductCategory'} has_many :regions - has_many :roles + has_many :roles, :dependent => :destroy has_many :qualifiers has_many :certifiers diff --git a/test/unit/environment_test.rb b/test/unit/environment_test.rb index 24d5cb9..f942e69 100644 --- a/test/unit/environment_test.rb +++ b/test/unit/environment_test.rb @@ -783,6 +783,18 @@ class EnvironmentTest < ActiveSupport::TestCase assert role2.valid? end + should 'destroy roles when its environment is destroyed' do + e1 = fast_create(Environment) + role1 = Role.create!(:name => 'test_role', :environment => e1, :key => 'a_member') + e2 = fast_create(Environment) + role2 = Role.create!(:name => 'test_role', :environment => e2, :key => 'a_member') + + e2.destroy + + assert_nothing_raised {Role.find(role1.id)} + assert_raise(ActiveRecord::RecordNotFound) {Role.find(role2.id)} + end + should 'have a help_message_to_add_enterprise attribute' do env = Environment.new -- libgit2 0.21.2