aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test
diff options
context:
space:
mode:
authorPhilippe Guay <Philippe.Guay@videri.com>2017-03-19 22:39:14 -0400
committerPhilippe Guay <Philippe.Guay@videri.com>2017-03-26 21:06:02 -0400
commit14739b5e27987e1eee080579fa0c80eea07347b8 (patch)
treeab04a005f092325afaf6a15cf9ea72598cb161d5 /railties/test
parent40ba03adaa743e2c67c82220794c9f11fae97d12 (diff)
downloadrails-14739b5e27987e1eee080579fa0c80eea07347b8.tar.gz
rails-14739b5e27987e1eee080579fa0c80eea07347b8.tar.bz2
rails-14739b5e27987e1eee080579fa0c80eea07347b8.zip
Fixes #28359
Add stronger assertions to rake migration tasks to make sure the user is providing a numeric VERSION An empty string was getting converted to version = 0. This would in turn pass the presence check. Address linting warning Add test for rake task and refactor code to meet expectations In particular passing VERSION=0 should not raise an error. Addressed Comments for PR #28485. Trimmed empty lines + change of wording for error message Adjust test for change of wording in error message Change condition to follow rails idioms
Diffstat (limited to 'railties/test')
-rw-r--r--railties/test/application/rake/migrations_test.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/railties/test/application/rake/migrations_test.rb b/railties/test/application/rake/migrations_test.rb
index 76cb302c62..00f6620188 100644
--- a/railties/test/application/rake/migrations_test.rb
+++ b/railties/test/application/rake/migrations_test.rb
@@ -37,6 +37,22 @@ module ApplicationTests
end
end
+ test "migration with empty version" do
+ Dir.chdir(app_path) do
+ output = `bin/rails db:migrate VERSION= 2>&1`
+ assert_match(/Empty VERSION provided/, output)
+
+ output = `bin/rails db:migrate:redo VERSION= 2>&1`
+ assert_match(/Empty VERSION provided/, output)
+
+ output = `bin/rails db:migrate:up VERSION= 2>&1`
+ assert_match(/VERSION is required/, output)
+
+ output = `bin/rails db:migrate:down VERSION= 2>&1`
+ assert_match(/VERSION is required - To go down one migration, use db:rollback/, output)
+ end
+ end
+
test "model and migration generator with change syntax" do
Dir.chdir(app_path) do
`bin/rails generate model user username:string password:string;