aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/generators/generated_attribute_test.rb
diff options
context:
space:
mode:
authorPrathamesh Sonpatki <csonpatki@gmail.com>2019-04-16 11:42:18 +0530
committerPrathamesh Sonpatki <csonpatki@gmail.com>2019-04-19 20:08:29 +0530
commit8b4d344815655027d9f7584c0a59271dce8f1d5a (patch)
treecf98e4e0c22a1584fb574d10ef18cae56374eb36 /railties/test/generators/generated_attribute_test.rb
parent10da0a27512e108a5cde3eeba774b01c15f6c43a (diff)
downloadrails-8b4d344815655027d9f7584c0a59271dce8f1d5a.tar.gz
rails-8b4d344815655027d9f7584c0a59271dce8f1d5a.tar.bz2
rails-8b4d344815655027d9f7584c0a59271dce8f1d5a.zip
Add `null: false` constraint by default for `belongs_to` associations
- Also deprecate passing {required} to the model generator. - Also made sure the global config `belongs_to_required_by_default` is applied correctly to the model generator for `null: false` option.
Diffstat (limited to 'railties/test/generators/generated_attribute_test.rb')
-rw-r--r--railties/test/generators/generated_attribute_test.rb17
1 files changed, 16 insertions, 1 deletions
diff --git a/railties/test/generators/generated_attribute_test.rb b/railties/test/generators/generated_attribute_test.rb
index bf60d6bc22..82d550a124 100644
--- a/railties/test/generators/generated_attribute_test.rb
+++ b/railties/test/generators/generated_attribute_test.rb
@@ -6,6 +6,15 @@ require "rails/generators/generated_attribute"
class GeneratedAttributeTest < Rails::Generators::TestCase
include GeneratorsTestHelper
+ def setup
+ @old_belongs_to_required_by_default = Rails.application.config.active_record.belongs_to_required_by_default
+ Rails.application.config.active_record.belongs_to_required_by_default = true
+ end
+
+ def teardown
+ Rails.application.config.active_record.belongs_to_required_by_default = @old_belongs_to_required_by_default
+ end
+
def test_field_type_returns_number_field
assert_field_type :integer, :number_field
end
@@ -155,10 +164,16 @@ class GeneratedAttributeTest < Rails::Generators::TestCase
end
def test_parse_required_attribute_with_index
- att = Rails::Generators::GeneratedAttribute.parse("supplier:references{required}:index")
+ att = Rails::Generators::GeneratedAttribute.parse("supplier:references:index")
assert_equal "supplier", att.name
assert_equal :references, att.type
assert_predicate att, :has_index?
assert_predicate att, :required?
end
+
+ def test_parse_required_attribute_with_index_false_when_belongs_to_required_by_default_global_config_is_false
+ Rails.application.config.active_record.belongs_to_required_by_default = false
+ att = Rails::Generators::GeneratedAttribute.parse("supplier:references:index")
+ assert_not_predicate att, :required?
+ end
end