From 8739a42c383f029548a426065ac12299c50e56e6 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Mon, 16 Jan 2012 10:33:39 -0800 Subject: testing the current version method --- activerecord/test/cases/migrator_test.rb | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'activerecord/test') 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 -- cgit v1.2.3