aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/test/cases')
-rwxr-xr-xactiverecord/test/cases/base_test.rb8
-rw-r--r--activerecord/test/cases/modules_test.rb33
2 files changed, 32 insertions, 9 deletions
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb
index 8bff13aa96..1c3655b587 100755
--- a/activerecord/test/cases/base_test.rb
+++ b/activerecord/test/cases/base_test.rb
@@ -2205,14 +2205,6 @@ class BasicsTest < ActiveRecord::TestCase
assert xml.include?(%(<arbitrary-element>#{value}</arbitrary-element>))
end
- def test_type_name_with_module_should_handle_beginning
- ActiveRecord::Base.store_full_sti_class = false
- assert_equal 'ActiveRecord::Person', ActiveRecord::Base.send(:type_name_with_module, 'Person')
- assert_equal '::Person', ActiveRecord::Base.send(:type_name_with_module, '::Person')
- ensure
- ActiveRecord::Base.store_full_sti_class = true
- end
-
def test_to_param_should_return_string
assert_kind_of String, Client.find(:first).to_param
end
diff --git a/activerecord/test/cases/modules_test.rb b/activerecord/test/cases/modules_test.rb
index 7209966bf8..c924c3dfad 100644
--- a/activerecord/test/cases/modules_test.rb
+++ b/activerecord/test/cases/modules_test.rb
@@ -1,8 +1,9 @@
require "cases/helper"
require 'models/company_in_module'
+require 'models/shop'
class ModulesTest < ActiveRecord::TestCase
- fixtures :accounts, :companies, :projects, :developers
+ fixtures :accounts, :companies, :projects, :developers, :collections, :products, :variants
def setup
# need to make sure Object::Firm and Object::Client are not defined,
@@ -110,4 +111,34 @@ class ModulesTest < ActiveRecord::TestCase
ActiveRecord::Base.table_name_prefix = ''
classes.each(&:reset_table_name)
end
+
+ def test_compute_type_can_infer_class_name_of_sibling_inside_module
+ old = ActiveRecord::Base.store_full_sti_class
+ ActiveRecord::Base.store_full_sti_class = true
+ assert_equal MyApplication::Business::Firm, MyApplication::Business::Client.send(:compute_type, "Firm")
+ ensure
+ ActiveRecord::Base.store_full_sti_class = old
+ end
+
+ def test_nested_models_should_not_raise_exception_when_using_delete_all_dependency_on_association
+ old = ActiveRecord::Base.store_full_sti_class
+ ActiveRecord::Base.store_full_sti_class = true
+
+ collection = Shop::Collection.find(:first)
+ assert !collection.products.empty?, "Collection should have products"
+ assert_nothing_raised { collection.destroy }
+ ensure
+ ActiveRecord::Base.store_full_sti_class = old
+ end
+
+ def test_nested_models_should_not_raise_exception_when_using_nullify_dependency_on_association
+ old = ActiveRecord::Base.store_full_sti_class
+ ActiveRecord::Base.store_full_sti_class = true
+
+ product = Shop::Product.find(:first)
+ assert !product.variants.empty?, "Product should have variants"
+ assert_nothing_raised { product.destroy }
+ ensure
+ ActiveRecord::Base.store_full_sti_class = old
+ end
end