diff options
author | Kasper Timm Hansen <kaspth@gmail.com> | 2019-04-19 17:47:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-19 17:47:39 +0200 |
commit | 1a5381ff0cf04af68a50bd04f265b9b8199e37b4 (patch) | |
tree | b238c978e750c81a836e9dfaf67a566d13b05c60 /railties/test/generators/migration_generator_test.rb | |
parent | 69fcaaaf15880dc20b9ec19a9b839f375a64a1d2 (diff) | |
parent | 8b4d344815655027d9f7584c0a59271dce8f1d5a (diff) | |
download | rails-1a5381ff0cf04af68a50bd04f265b9b8199e37b4.tar.gz rails-1a5381ff0cf04af68a50bd04f265b9b8199e37b4.tar.bz2 rails-1a5381ff0cf04af68a50bd04f265b9b8199e37b4.zip |
Merge pull request #36001 from prathamesh-sonpatki/null-false-default-belongs-to
Add `null: false` constraint by default for `belongs_to` associations
Diffstat (limited to 'railties/test/generators/migration_generator_test.rb')
-rw-r--r-- | railties/test/generators/migration_generator_test.rb | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/railties/test/generators/migration_generator_test.rb b/railties/test/generators/migration_generator_test.rb index 540bed551b..e6b614a935 100644 --- a/railties/test/generators/migration_generator_test.rb +++ b/railties/test/generators/migration_generator_test.rb @@ -6,6 +6,16 @@ require "rails/generators/rails/migration/migration_generator" class MigrationGeneratorTest < 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_migration migration = "change_title_body_from_posts" run_generator [migration] @@ -196,9 +206,9 @@ class MigrationGeneratorTest < Rails::Generators::TestCase end end - def test_add_migration_with_required_references + def test_add_migration_with_references_adds_null_false_by_default migration = "add_references_to_books" - run_generator [migration, "author:belongs_to{required}", "distributor:references{polymorphic,required}"] + run_generator [migration, "author:belongs_to", "distributor:references{polymorphic}"] assert_migration "db/migrate/#{migration}.rb" do |content| assert_method :change, content do |change| @@ -208,6 +218,21 @@ class MigrationGeneratorTest < Rails::Generators::TestCase end end + def test_add_migration_with_references_does_not_add_belongs_to_when_required_by_default_global_config_is_false + Rails.application.config.active_record.belongs_to_required_by_default = false + + migration = "add_references_to_books" + + run_generator [migration, "author:belongs_to", "distributor:references{polymorphic}"] + + assert_migration "db/migrate/#{migration}.rb" do |content| + assert_method :change, content do |change| + assert_match(/add_reference :books, :author/, change) + assert_match(/add_reference :books, :distributor, polymorphic: true/, change) + end + end + end + def test_add_migration_with_references_adds_foreign_keys migration = "add_references_to_books" run_generator [migration, "author:belongs_to", "distributor:references{polymorphic}"] |