2019-04-30 08:27:42 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-02-17 14:47:47 +08:00
|
|
|
require 'rails_helper'
|
|
|
|
|
|
|
|
describe FreedomPatches::SchemaMigrationDetails do
|
|
|
|
|
|
|
|
# we usually don't really need this model so lets not clutter up with it
|
|
|
|
class SchemaMigrationDetail < ActiveRecord::Base
|
|
|
|
end
|
|
|
|
|
2017-08-31 12:06:56 +08:00
|
|
|
class TestMigration < ActiveRecord::Migration[4.2]
|
2016-02-17 14:47:47 +08:00
|
|
|
def up
|
|
|
|
sleep 0.001
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
it "logs information on migration" do
|
2017-07-28 09:20:09 +08:00
|
|
|
migration = TestMigration.new("awesome_migration", "20160225050318")
|
2016-02-17 14:47:47 +08:00
|
|
|
|
|
|
|
ActiveRecord::Base.connection_pool.with_connection do |conn|
|
|
|
|
migration.exec_migration(conn, :up)
|
|
|
|
end
|
|
|
|
|
|
|
|
info = SchemaMigrationDetail.find_by(version: "20160225050318")
|
|
|
|
|
|
|
|
expect(info.duration).to be > 0
|
|
|
|
expect(info.git_version).to eq Discourse.git_version
|
|
|
|
expect(info.direction).to eq "up"
|
|
|
|
expect(info.rails_version).to eq Rails.version
|
|
|
|
expect(info.name).to eq "awesome_migration"
|
|
|
|
end
|
|
|
|
end
|