aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-01-16 10:33:39 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2012-01-16 10:33:39 -0800
commit8739a42c383f029548a426065ac12299c50e56e6 (patch)
tree438e05161ad22e2e9959e0d8b5e40a787f3277f6 /activerecord/test
parent5b833f53f61d65927ec60be8b165679d80b02da5 (diff)
downloadrails-8739a42c383f029548a426065ac12299c50e56e6.tar.gz
rails-8739a42c383f029548a426065ac12299c50e56e6.tar.bz2
rails-8739a42c383f029548a426065ac12299c50e56e6.zip
testing the current version method
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/migrator_test.rb27
1 files changed, 26 insertions, 1 deletions
diff --git a/activerecord/test/cases/migrator_test.rb b/activerecord/test/cases/migrator_test.rb
index 143aadd833..01edde6b09 100644
--- a/activerecord/test/cases/migrator_test.rb
+++ b/activerecord/test/cases/migrator_test.rb
@@ -2,12 +2,14 @@ require "cases/helper"
module ActiveRecord
class MigratorTest < ActiveRecord::TestCase
+ self.use_transactional_fixtures = false
+
# Use this class to sense if migrations have gone
# up or down.
class Sensor < ActiveRecord::Migration
attr_reader :went_up, :went_down
- def initialize name, version
+ def initialize name = self.class.name, version = nil
super
@went_up = false
@went_down = false
@@ -129,5 +131,28 @@ module ActiveRecord
refute pass_three[1].went_down
assert pass_three[2].went_down
end
+
+ def test_up_calls_up
+ migrations = [Sensor.new(nil, 0), Sensor.new(nil, 1), Sensor.new(nil, 2)]
+ ActiveRecord::Migrator.new(:up, migrations).migrate
+ assert migrations.all? { |m| m.went_up }
+ assert migrations.all? { |m| !m.went_down }
+ assert_equal 2, ActiveRecord::Migrator.current_version
+ end
+
+ def test_down_calls_down
+ test_up_calls_up
+
+ migrations = [Sensor.new(nil, 0), Sensor.new(nil, 1), Sensor.new(nil, 2)]
+ ActiveRecord::Migrator.new(:down, migrations).migrate
+ assert migrations.all? { |m| !m.went_up }
+ assert migrations.all? { |m| m.went_down }
+ assert_equal 0, ActiveRecord::Migrator.current_version
+ end
+
+ def test_current_version
+ ActiveRecord::SchemaMigration.create!(:version => '1000')
+ assert_equal 1000, ActiveRecord::Migrator.current_version
+ end
end
end