Mercurial > hg > soundsoftware-site
view vendor/plugins/engines/test/unit/migration_test.rb @ 971:b80f97c892bc cannam
Merge from branch "get_statistics"
author | Chris Cannam |
---|---|
date | Fri, 19 Oct 2012 14:47:14 +0100 |
parents | 513646585e45 |
children |
line wrap: on
line source
require File.dirname(__FILE__) + '/../test_helper' require 'rails_generator' require 'rails_generator/scripts/generate' class MigrationsTest < Test::Unit::TestCase @@migration_dir = "#{RAILS_ROOT}/db/migrate" def setup ActiveRecord::Migration.verbose = false Engines.plugins[:test_migration].migrate(0) end def teardown FileUtils.rm_r(@@migration_dir) if File.exist?(@@migration_dir) end def test_engine_migrations_can_run_down assert !table_exists?('tests'), ActiveRecord::Base.connection.tables.inspect assert !table_exists?('others'), ActiveRecord::Base.connection.tables.inspect assert !table_exists?('extras'), ActiveRecord::Base.connection.tables.inspect end def test_engine_migrations_can_run_up Engines.plugins[:test_migration].migrate(3) assert table_exists?('tests') assert table_exists?('others') assert table_exists?('extras') end def test_engine_migrations_can_upgrade_incrementally Engines.plugins[:test_migration].migrate(1) assert table_exists?('tests') assert !table_exists?('others') assert !table_exists?('extras') assert_equal 1, Engines::Plugin::Migrator.current_version(Engines.plugins[:test_migration]) Engines.plugins[:test_migration].migrate(2) assert table_exists?('others') assert_equal 2, Engines::Plugin::Migrator.current_version(Engines.plugins[:test_migration]) Engines.plugins[:test_migration].migrate(3) assert table_exists?('extras') assert_equal 3, Engines::Plugin::Migrator.current_version(Engines.plugins[:test_migration]) end def test_generator_creates_plugin_migration_file Rails::Generator::Scripts::Generate.new.run(['plugin_migration', 'test_migration'], :quiet => true) assert migration_file, "migration file is missing" end private def table_exists?(table) ActiveRecord::Base.connection.tables.include?(table) end def migration_file Dir["#{@@migration_dir}/*test_migration_to_version_3.rb"][0] end end