class ActiveRecord::Migration::ReferencesIndexTest

Attributes

connection[R]
table_name[R]

Public Instance Methods

setup() click to toggle source
Calls superclass method
# File activerecord/test/cases/migration/references_index_test.rb, line 10
def setup
  super
  @connection = ActiveRecord::Base.connection
  @table_name = :testings
end
test_creates_index() click to toggle source
# File activerecord/test/cases/migration/references_index_test.rb, line 20
def test_creates_index
  connection.create_table table_name do |t|
    t.references :foo, index: true
  end

  assert connection.index_exists?(table_name, :foo_id, name: :index_testings_on_foo_id)
end
test_creates_index_by_default_even_if_index_option_is_not_passed() click to toggle source
# File activerecord/test/cases/migration/references_index_test.rb, line 28
def test_creates_index_by_default_even_if_index_option_is_not_passed
  connection.create_table table_name do |t|
    t.references :foo
  end

  assert connection.index_exists?(table_name, :foo_id, name: :index_testings_on_foo_id)
end
test_creates_index_for_existing_table() click to toggle source
# File activerecord/test/cases/migration/references_index_test.rb, line 64
def test_creates_index_for_existing_table
  connection.create_table table_name
  connection.change_table table_name do |t|
    t.references :foo, index: true
  end

  assert connection.index_exists?(table_name, :foo_id, name: :index_testings_on_foo_id)
end
test_creates_index_for_existing_table_even_if_index_option_is_not_passed() click to toggle source
# File activerecord/test/cases/migration/references_index_test.rb, line 73
def test_creates_index_for_existing_table_even_if_index_option_is_not_passed
  connection.create_table table_name
  connection.change_table table_name do |t|
    t.references :foo
  end

  assert connection.index_exists?(table_name, :foo_id, name: :index_testings_on_foo_id)
end
test_creates_index_with_options() click to toggle source
# File activerecord/test/cases/migration/references_index_test.rb, line 44
def test_creates_index_with_options
  connection.create_table table_name do |t|
    t.references :foo, index: { name: :index_testings_on_yo_momma }
    t.references :bar, index: { unique: true }
  end

  assert connection.index_exists?(table_name, :foo_id, name: :index_testings_on_yo_momma)
  assert connection.index_exists?(table_name, :bar_id, name: :index_testings_on_bar_id, unique: true)
end
test_creates_polymorphic_index() click to toggle source
# File activerecord/test/cases/migration/references_index_test.rb, line 55
def test_creates_polymorphic_index
  connection.create_table table_name do |t|
    t.references :foo, polymorphic: true, index: true
  end

  assert connection.index_exists?(table_name, [:foo_type, :foo_id], name: :index_testings_on_foo_type_and_foo_id)
end
test_creates_polymorphic_index_for_existing_table() click to toggle source
# File activerecord/test/cases/migration/references_index_test.rb, line 92
def test_creates_polymorphic_index_for_existing_table
  connection.create_table table_name
  connection.change_table table_name do |t|
    t.references :foo, polymorphic: true, index: true
  end

  assert connection.index_exists?(table_name, [:foo_type, :foo_id], name: :index_testings_on_foo_type_and_foo_id)
end
test_does_not_create_index_explicit() click to toggle source
# File activerecord/test/cases/migration/references_index_test.rb, line 36
def test_does_not_create_index_explicit
  connection.create_table table_name do |t|
    t.references :foo, index: false
  end

  assert_not connection.index_exists?(table_name, :foo_id, name: :index_testings_on_foo_id)
end
test_does_not_create_index_for_existing_table_explicit() click to toggle source
# File activerecord/test/cases/migration/references_index_test.rb, line 82
def test_does_not_create_index_for_existing_table_explicit
  connection.create_table table_name
  connection.change_table table_name do |t|
    t.references :foo, index: false
  end

  assert_not connection.index_exists?(table_name, :foo_id, name: :index_testings_on_foo_id)
end