class ActiveRecord::Migration::TableTest

Public Instance Methods

setup() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 8
def setup
  @connection = Minitest::Mock.new
end
test_add_belongs_to_works_like_add_references() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 34
def test_add_belongs_to_works_like_add_references
  with_change_table do |t|
    @connection.expect :add_reference, nil, [:delete_me, :customer, {}]
    t.belongs_to :customer
  end
end
test_bigint_creates_bigint_column() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 119
def test_bigint_creates_bigint_column
  with_change_table do |t|
    @connection.expect :add_column, nil, [:delete_me, :foo, :bigint, {}]
    @connection.expect :add_column, nil, [:delete_me, :bar, :bigint, {}]
    t.bigint :foo, :bar
  end
end
test_change_changes_column() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 202
def test_change_changes_column
  with_change_table do |t|
    @connection.expect :change_column, nil, [:delete_me, :bar, :string, {}]
    t.change :bar, :string
  end
end
test_change_changes_column_with_options() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 209
def test_change_changes_column_with_options
  with_change_table do |t|
    @connection.expect :change_column, nil, [:delete_me, :bar, :string, { null: true }]
    t.change :bar, :string, null: true
  end
end
test_change_default_changes_column() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 216
def test_change_default_changes_column
  with_change_table do |t|
    @connection.expect :change_column_default, nil, [:delete_me, :bar, :string]
    t.change_default :bar, :string
  end
end
test_column_creates_column() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 153
def test_column_creates_column
  with_change_table do |t|
    @connection.expect :add_column, nil, [:delete_me, :bar, :integer, {}]
    t.column :bar, :integer
  end
end
test_column_creates_column_with_options() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 160
def test_column_creates_column_with_options
  with_change_table do |t|
    @connection.expect :add_column, nil, [:delete_me, :bar, :integer, { null: false }]
    t.column :bar, :integer, null: false
  end
end
test_index_creates_index() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 167
def test_index_creates_index
  with_change_table do |t|
    @connection.expect :add_index, nil, [:delete_me, :bar, {}]
    t.index :bar
  end
end
test_index_creates_index_with_options() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 174
def test_index_creates_index_with_options
  with_change_table do |t|
    @connection.expect :add_index, nil, [:delete_me, :bar, { unique: true }]
    t.index :bar, unique: true
  end
end
test_index_exists() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 181
def test_index_exists
  with_change_table do |t|
    @connection.expect :index_exists?, nil, [:delete_me, :bar, {}]
    t.index_exists?(:bar)
  end
end
test_index_exists_with_options() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 188
def test_index_exists_with_options
  with_change_table do |t|
    @connection.expect :index_exists?, nil, [:delete_me, :bar, { unique: true }]
    t.index_exists?(:bar, unique: true)
  end
end
test_integer_creates_integer_column() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 111
def test_integer_creates_integer_column
  with_change_table do |t|
    @connection.expect :add_column, nil, [:delete_me, :foo, :integer, {}]
    @connection.expect :add_column, nil, [:delete_me, :bar, :integer, {}]
    t.integer :foo, :bar
  end
end
test_json_creates_json_column() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 136
def test_json_creates_json_column
  with_change_table do |t|
    @connection.expect :add_column, nil, [:delete_me, :foo, :json, {}]
    @connection.expect :add_column, nil, [:delete_me, :bar, :json, {}]
    t.json :foo, :bar
  end
end
test_primary_key_creates_primary_key_column() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 104
def test_primary_key_creates_primary_key_column
  with_change_table do |t|
    @connection.expect :add_column, nil, [:delete_me, :id, :primary_key, primary_key: true, first: true]
    t.primary_key :id, first: true
  end
end
test_references_column_type_adds_id() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 20
def test_references_column_type_adds_id
  with_change_table do |t|
    @connection.expect :add_reference, nil, [:delete_me, :customer, {}]
    t.references :customer
  end
end
test_references_column_type_with_polymorphic_adds_type() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 48
def test_references_column_type_with_polymorphic_adds_type
  with_change_table do |t|
    @connection.expect :add_reference, nil, [:delete_me, :taggable, polymorphic: true]
    t.references :taggable, polymorphic: true
  end
end
test_references_column_type_with_polymorphic_and_options_null_is_false_adds_table_flag() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 62
def test_references_column_type_with_polymorphic_and_options_null_is_false_adds_table_flag
  with_change_table do |t|
    @connection.expect :add_reference, nil, [:delete_me, :taggable, polymorphic: true, null: false]
    t.references :taggable, polymorphic: true, null: false
  end
end
test_references_column_type_with_polymorphic_and_type() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 76
def test_references_column_type_with_polymorphic_and_type
  with_change_table do |t|
    @connection.expect :add_reference, nil, [:delete_me, :taggable, polymorphic: true, type: :string]
    t.references :taggable, polymorphic: true, type: :string
  end
end
test_remove_belongs_to_works_like_remove_references() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 41
def test_remove_belongs_to_works_like_remove_references
  with_change_table do |t|
    @connection.expect :remove_reference, nil, [:delete_me, :customer, {}]
    t.remove_belongs_to :customer
  end
end
test_remove_drops_multiple_columns() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 230
def test_remove_drops_multiple_columns
  with_change_table do |t|
    @connection.expect :remove_columns, nil, [:delete_me, :bar, :baz]
    t.remove :bar, :baz
  end
end
test_remove_drops_single_column() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 223
def test_remove_drops_single_column
  with_change_table do |t|
    @connection.expect :remove_columns, nil, [:delete_me, :bar]
    t.remove :bar
  end
end
test_remove_index_removes_index_with_options() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 237
def test_remove_index_removes_index_with_options
  with_change_table do |t|
    @connection.expect :remove_index, nil, [:delete_me, { unique: true }]
    t.remove_index unique: true
  end
end
test_remove_references_column_type_removes_id() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 27
def test_remove_references_column_type_removes_id
  with_change_table do |t|
    @connection.expect :remove_reference, nil, [:delete_me, :customer, {}]
    t.remove_references :customer
  end
end
test_remove_references_column_type_with_polymorphic_and_options_null_is_false_removes_table_flag() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 69
def test_remove_references_column_type_with_polymorphic_and_options_null_is_false_removes_table_flag
  with_change_table do |t|
    @connection.expect :remove_reference, nil, [:delete_me, :taggable, polymorphic: true, null: false]
    t.remove_references :taggable, polymorphic: true, null: false
  end
end
test_remove_references_column_type_with_polymorphic_and_type() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 83
def test_remove_references_column_type_with_polymorphic_and_type
  with_change_table do |t|
    @connection.expect :remove_reference, nil, [:delete_me, :taggable, polymorphic: true, type: :string]
    t.remove_references :taggable, polymorphic: true, type: :string
  end
end
test_remove_references_column_type_with_polymorphic_removes_type() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 55
def test_remove_references_column_type_with_polymorphic_removes_type
  with_change_table do |t|
    @connection.expect :remove_reference, nil, [:delete_me, :taggable, polymorphic: true]
    t.remove_references :taggable, polymorphic: true
  end
end
test_remove_timestamps_creates_updated_at_and_created_at() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 97
def test_remove_timestamps_creates_updated_at_and_created_at
  with_change_table do |t|
    @connection.expect :remove_timestamps, nil, [:delete_me, { null: true }]
    t.remove_timestamps(null: true)
  end
end
test_rename_index_renames_index() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 195
def test_rename_index_renames_index
  with_change_table do |t|
    @connection.expect :rename_index, nil, [:delete_me, :bar, :baz]
    t.rename_index :bar, :baz
  end
end
test_rename_renames_column() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 244
def test_rename_renames_column
  with_change_table do |t|
    @connection.expect :rename_column, nil, [:delete_me, :bar, :baz]
    t.rename :bar, :baz
  end
end
test_string_creates_string_column() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 127
def test_string_creates_string_column
  with_change_table do |t|
    @connection.expect :add_column, nil, [:delete_me, :foo, :string, {}]
    @connection.expect :add_column, nil, [:delete_me, :bar, :string, {}]
    t.string :foo, :bar
  end
end
test_table_name_set() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 251
def test_table_name_set
  with_change_table do |t|
    assert_equal :delete_me, t.name
  end
end
test_timestamps_creates_updated_at_and_created_at() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 90
def test_timestamps_creates_updated_at_and_created_at
  with_change_table do |t|
    @connection.expect :add_timestamps, nil, [:delete_me, null: true]
    t.timestamps null: true
  end
end
test_xml_creates_xml_column() click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 144
def test_xml_creates_xml_column
  with_change_table do |t|
    @connection.expect :add_column, nil, [:delete_me, :foo, :xml, {}]
    @connection.expect :add_column, nil, [:delete_me, :bar, :xml, {}]
    t.xml :foo, :bar
  end
end
with_change_table() { |connection.update_table_definition(:delete_me, connection)| ... } click to toggle source
# File activerecord/test/cases/migration/change_table_test.rb, line 16
def with_change_table
  yield ActiveRecord::Base.connection.update_table_definition(:delete_me, @connection)
end