diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2010-11-17 13:55:03 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2010-11-17 14:26:35 -0800 |
commit | 68b66ef3082b5d6ca47f621ea51cad9321847caf (patch) | |
tree | a1e3e5575763593da65ebe9069a6cea956de4e94 /activerecord/test/cases | |
parent | 974ff0dd43826aa375417852356ceede1bd24cf2 (diff) | |
download | rails-68b66ef3082b5d6ca47f621ea51cad9321847caf.tar.gz rails-68b66ef3082b5d6ca47f621ea51cad9321847caf.tar.bz2 rails-68b66ef3082b5d6ca47f621ea51cad9321847caf.zip |
testing instance based migrations
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/migration_test.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/activerecord/test/cases/migration_test.rb b/activerecord/test/cases/migration_test.rb index 5cd6c735af..3037d73a1b 100644 --- a/activerecord/test/cases/migration_test.rb +++ b/activerecord/test/cases/migration_test.rb @@ -1166,6 +1166,44 @@ if ActiveRecord::Base.connection.supports_migrations? assert_raise(ActiveRecord::StatementInvalid) { Reminder.find(:first) } end + class MockMigration < ActiveRecord::Migration + attr_reader :went_up, :went_down + def initialize + @went_up = false + @went_down = false + end + + def up + @went_up = true + super + end + + def down + @went_down = true + super + end + end + + def test_instance_based_migration_up + migration = MockMigration.new + assert !migration.went_up, 'have not gone up' + assert !migration.went_down, 'have not gone down' + + migration.migrate :up + assert migration.went_up, 'have gone up' + assert !migration.went_down, 'have not gone down' + end + + def test_instance_based_migration_down + migration = MockMigration.new + assert !migration.went_up, 'have not gone up' + assert !migration.went_down, 'have not gone down' + + migration.migrate :down + assert !migration.went_up, 'have gone up' + assert migration.went_down, 'have not gone down' + end + def test_migrator_one_up assert !Person.column_methods_hash.include?(:last_name) assert !Reminder.table_exists? |