aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/generators/model_generator_test.rb
diff options
context:
space:
mode:
authorSean Griffin <sean@thoughtbot.com>2014-12-22 13:36:20 -0700
committerSean Griffin <sean@thoughtbot.com>2014-12-22 13:47:11 -0700
commita03ea684efc3505647cf0327a501aa2dbb591ad2 (patch)
tree2e3836f0fe873994a5398cce7e782635f9e5077d /railties/test/generators/model_generator_test.rb
parent82afeaf23b0cc190d1ed2c8858a11980c71ac336 (diff)
downloadrails-a03ea684efc3505647cf0327a501aa2dbb591ad2.tar.gz
rails-a03ea684efc3505647cf0327a501aa2dbb591ad2.tar.bz2
rails-a03ea684efc3505647cf0327a501aa2dbb591ad2.zip
Use the new `foreign_key` option on `references` in generators
Changes `rails g model Post user:references` from def change create_table :posts do |t| t.references :user, index: true end add_foreign_key :posts, :users end to def change create_table :posts do |t| t.references :user, index: true, foreign_key: true end end Changes `rails g migration add_user_to_posts user:references` from def change add_reference :posts, :users, index: true add_foreign_key :posts, :users end to def change add_reference :posts, :users, index: true, foreign_key: true end
Diffstat (limited to 'railties/test/generators/model_generator_test.rb')
-rw-r--r--railties/test/generators/model_generator_test.rb16
1 files changed, 13 insertions, 3 deletions
diff --git a/railties/test/generators/model_generator_test.rb b/railties/test/generators/model_generator_test.rb
index ac7a0acf6b..9dc438fe3c 100644
--- a/railties/test/generators/model_generator_test.rb
+++ b/railties/test/generators/model_generator_test.rb
@@ -407,13 +407,23 @@ class ModelGeneratorTest < Rails::Generators::TestCase
end
end
+ def test_foreign_key_is_not_added_for_non_references
+ run_generator ["account", "supplier:string"]
+
+ assert_migration "db/migrate/create_accounts.rb" do |m|
+ assert_method :change, m do |up|
+ assert_no_match(/foreign_key/, up)
+ end
+ end
+ end
+
def test_foreign_key_is_added_for_references
run_generator ["account", "supplier:belongs_to", "user:references"]
assert_migration "db/migrate/create_accounts.rb" do |m|
assert_method :change, m do |up|
- assert_match(/add_foreign_key :accounts, :suppliers/, up)
- assert_match(/add_foreign_key :accounts, :users/, up)
+ assert_match(/t\.belongs_to :supplier,.*\sforeign_key: true/, up)
+ assert_match(/t\.references :user,.*\sforeign_key: true/, up)
end
end
end
@@ -423,7 +433,7 @@ class ModelGeneratorTest < Rails::Generators::TestCase
assert_migration "db/migrate/create_accounts.rb" do |m|
assert_method :change, m do |up|
- assert_no_match(/add_foreign_key :accounts, :suppliers/, up)
+ assert_no_match(/foreign_key/, up)
end
end
end