mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
move column ordering tests to it's own class
This commit is contained in:
parent
42fd1642bd
commit
4663070d28
3 changed files with 60 additions and 56 deletions
|
@ -610,18 +610,10 @@ module ActiveRecord
|
|||
migrations_paths.first
|
||||
end
|
||||
|
||||
def migrations(paths, *args)
|
||||
if args.empty?
|
||||
subdirectories = true
|
||||
else
|
||||
subdirectories = args.first
|
||||
ActiveSupport::Deprecation.warn "The `subdirectories` argument to `migrations` is deprecated"
|
||||
end
|
||||
|
||||
def migrations(paths)
|
||||
paths = Array(paths)
|
||||
|
||||
glob = subdirectories ? "**/" : ""
|
||||
files = Dir[*paths.map { |p| "#{p}/#{glob}[0-9]*_*.rb" }]
|
||||
files = Dir[*paths.map { |p| "#{p}/**/[0-9]*_*.rb" }]
|
||||
|
||||
seen = Hash.new false
|
||||
|
||||
|
|
|
@ -244,38 +244,6 @@ module ActiveRecord
|
|||
end
|
||||
end
|
||||
|
||||
def test_column_positioning
|
||||
testing_table_for_positioning do |conn|
|
||||
assert_equal %w(first second third), conn.columns(:testings).map {|c| c.name }
|
||||
end
|
||||
end
|
||||
|
||||
def test_add_column_with_positioning
|
||||
testing_table_for_positioning do |conn|
|
||||
conn.add_column :testings, :new_col, :integer
|
||||
assert_equal %w(first second third new_col), conn.columns(:testings).map {|c| c.name }
|
||||
end
|
||||
testing_table_for_positioning do |conn|
|
||||
conn.add_column :testings, :new_col, :integer, :first => true
|
||||
assert_equal %w(new_col first second third), conn.columns(:testings).map {|c| c.name }
|
||||
end
|
||||
testing_table_for_positioning do |conn|
|
||||
conn.add_column :testings, :new_col, :integer, :after => :first
|
||||
assert_equal %w(first new_col second third), conn.columns(:testings).map {|c| c.name }
|
||||
end
|
||||
end
|
||||
|
||||
def test_change_column_with_positioning
|
||||
testing_table_for_positioning do |conn|
|
||||
conn.change_column :testings, :second, :integer, :first => true
|
||||
assert_equal %w(second first third), conn.columns(:testings).map {|c| c.name }
|
||||
end
|
||||
testing_table_for_positioning do |conn|
|
||||
conn.change_column :testings, :second, :integer, :after => :third
|
||||
assert_equal %w(first third second), conn.columns(:testings).map {|c| c.name }
|
||||
end
|
||||
end
|
||||
|
||||
def test_change_column_quotes_column_names
|
||||
connection.create_table :testings do |t|
|
||||
t.column :select, :string
|
||||
|
@ -395,20 +363,6 @@ module ActiveRecord
|
|||
|
||||
yield
|
||||
end
|
||||
|
||||
def testing_table_for_positioning
|
||||
unless current_adapter?(:MysqlAdapter, :Mysql2Adapter)
|
||||
skip "not supported on #{connection.class}"
|
||||
end
|
||||
|
||||
connection.create_table :testings, :id => false do |t|
|
||||
t.column :first, :integer
|
||||
t.column :second, :integer
|
||||
t.column :third, :integer
|
||||
end
|
||||
|
||||
yield connection
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
58
activerecord/test/cases/migration/column_positioning_test.rb
Normal file
58
activerecord/test/cases/migration/column_positioning_test.rb
Normal file
|
@ -0,0 +1,58 @@
|
|||
module ActiveRecord
|
||||
class Migration
|
||||
class ColumnPositioningTest < ActiveRecord::TestCase
|
||||
attr_reader :connection, :table_name
|
||||
alias :conn :connection
|
||||
|
||||
def setup
|
||||
super
|
||||
|
||||
unless current_adapter?(:MysqlAdapter, :Mysql2Adapter)
|
||||
skip "not supported on #{connection.class}"
|
||||
end
|
||||
|
||||
@connection = ActiveRecord::Base.connection
|
||||
|
||||
connection.create_table :testings, :id => false do |t|
|
||||
t.column :first, :integer
|
||||
t.column :second, :integer
|
||||
t.column :third, :integer
|
||||
end
|
||||
end
|
||||
|
||||
def teardown
|
||||
super
|
||||
connection.drop_table :testings rescue nil
|
||||
ActiveRecord::Base.primary_key_prefix_type = nil
|
||||
end
|
||||
|
||||
def test_column_positioning
|
||||
assert_equal %w(first second third), conn.columns(:testings).map {|c| c.name }
|
||||
end
|
||||
|
||||
def test_add_column_with_positioning
|
||||
conn.add_column :testings, :new_col, :integer
|
||||
assert_equal %w(first second third new_col), conn.columns(:testings).map {|c| c.name }
|
||||
end
|
||||
|
||||
def test_add_column_with_positioning_first
|
||||
conn.add_column :testings, :new_col, :integer, :first => true
|
||||
assert_equal %w(new_col first second third), conn.columns(:testings).map {|c| c.name }
|
||||
end
|
||||
|
||||
def test_add_column_with_positioning_after
|
||||
conn.add_column :testings, :new_col, :integer, :after => :first
|
||||
assert_equal %w(first new_col second third), conn.columns(:testings).map {|c| c.name }
|
||||
end
|
||||
|
||||
def test_change_column_with_positioning
|
||||
conn.change_column :testings, :second, :integer, :first => true
|
||||
assert_equal %w(second first third), conn.columns(:testings).map {|c| c.name }
|
||||
|
||||
conn.change_column :testings, :second, :integer, :after => :third
|
||||
assert_equal %w(first third second), conn.columns(:testings).map {|c| c.name }
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue