aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/invertable_migration_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/test/cases/invertable_migration_test.rb')
-rw-r--r--activerecord/test/cases/invertable_migration_test.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/activerecord/test/cases/invertable_migration_test.rb b/activerecord/test/cases/invertable_migration_test.rb
new file mode 100644
index 0000000000..2477048954
--- /dev/null
+++ b/activerecord/test/cases/invertable_migration_test.rb
@@ -0,0 +1,42 @@
+require "cases/helper"
+
+module ActiveRecord
+ class InvertableMigrationTest < ActiveRecord::TestCase
+ class InvertableMigration < ActiveRecord::Migration
+ def change
+ create_table("horses") do |t|
+ t.column :content, :text
+ t.column :remind_at, :datetime
+ end
+ end
+
+ def write(text = '')
+ # sssshhhhh!!
+ end
+ end
+
+ def treardown
+ if ActiveRecord::Base.connection.table_exists?("horses")
+ ActiveRecord::Base.connection.drop_table("horses")
+ end
+ end
+
+ def test_invertable?
+ migration = InvertableMigration.new
+ assert migration.invertable?, 'should be invertable'
+ end
+
+ def test_up
+ migration = InvertableMigration.new
+ migration.migrate(:up)
+ assert migration.connection.table_exists?("horses"), "horses should exist"
+ end
+
+ def test_down
+ migration = InvertableMigration.new
+ migration.migrate :up
+ migration.migrate :down
+ assert !migration.connection.table_exists?("horses")
+ end
+ end
+end