Tests for rake db:migrate:status.

This commit is contained in:
Waseem Ahmad
2011-09-09 15:38:27 +05:30
parent b325a77410
commit bc7eddea20

View File

@@ -219,6 +219,30 @@ module ApplicationTests
assert_match(/AddEmailToUsers: reverted/, output)
end
def test_migration_status_when_schema_migrations_table_is_not_present
output = Dir.chdir(app_path){ `rake db:migrate:status` }
assert_equal "Schema migrations table does not exist yet.\n", output
end
def test_migration_status
Dir.chdir(app_path) do
`rails generate model user username:string password:string`
`rails generate migration add_email_to_users email:string`
end
Dir.chdir(app_path) { `rake db:migrate`}
output = Dir.chdir(app_path) { `rake db:migrate:status` }
assert_match(/up\s+\d{14}\s+Create users/, output)
assert_match(/up\s+\d{14}\s+Add email to users/, output)
Dir.chdir(app_path) { `rake db:rollback STEP=1` }
output = Dir.chdir(app_path) { `rake db:migrate:status` }
assert_match(/up\s+\d{14}\s+Create users/, output)
assert_match(/down\s+\d{14}\s+Add email to users/, output)
end
def test_loading_specific_fixtures
Dir.chdir(app_path) do
`rails generate model user username:string password:string`
@@ -245,4 +269,4 @@ module ApplicationTests
assert_match(/7 tests, 10 assertions, 0 failures, 0 errors/, content)
end
end
end
end