Methods
S
T
Attributes
[R] connection
Instance Public methods
setup()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 8
def setup
  super
  @connection = ActiveRecord::Base.connection
end
test_create_and_drop_join_table_with_common_prefix()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 123
def test_create_and_drop_join_table_with_common_prefix
  with_table_cleanup do
    connection.create_join_table 'audio_artists', 'audio_musics'
    assert_includes connection.tables, 'audio_artists_musics'

    connection.drop_join_table 'audio_artists', 'audio_musics'
    assert !connection.tables.include?('audio_artists_musics'), "Should have dropped join table, but didn't"
  end
end
test_create_join_table()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 19
def test_create_join_table
  connection.create_join_table :artists, :musics

  assert_equal %w(artist_id music_id), connection.columns(:artists_musics).map(&:name).sort
end
test_create_join_table_set_not_null_by_default()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 25
def test_create_join_table_set_not_null_by_default
  connection.create_join_table :artists, :musics

  assert_equal [false, false], connection.columns(:artists_musics).map(&:null)
end
test_create_join_table_with_column_options()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 61
def test_create_join_table_with_column_options
  connection.create_join_table :artists, :musics, column_options: {null: true}

  assert_equal [true, true], connection.columns(:artists_musics).map(&:null)
end
test_create_join_table_with_index()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 73
def test_create_join_table_with_index
  connection.create_join_table :artists, :musics do |t|
    t.index [:artist_id, :music_id]
  end

  assert_equal [%w(artist_id music_id)], connection.indexes(:artists_musics).map(&:columns)
end
test_create_join_table_with_strings()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 31
def test_create_join_table_with_strings
  connection.create_join_table 'artists', 'musics'

  assert_equal %w(artist_id music_id), connection.columns(:artists_musics).map(&:name).sort
end
test_create_join_table_with_symbol_and_string()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 37
def test_create_join_table_with_symbol_and_string
  connection.create_join_table :artists, 'musics'

  assert_equal %w(artist_id music_id), connection.columns(:artists_musics).map(&:name).sort
end
test_create_join_table_with_the_proper_order()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 43
def test_create_join_table_with_the_proper_order
  connection.create_join_table :videos, :musics

  assert_equal %w(music_id video_id), connection.columns(:musics_videos).map(&:name).sort
end
test_create_join_table_with_the_table_name()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 49
def test_create_join_table_with_the_table_name
  connection.create_join_table :artists, :musics, table_name: :catalog

  assert_equal %w(artist_id music_id), connection.columns(:catalog).map(&:name).sort
end
test_create_join_table_with_the_table_name_as_string()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 55
def test_create_join_table_with_the_table_name_as_string
  connection.create_join_table :artists, :musics, table_name: 'catalog'

  assert_equal %w(artist_id music_id), connection.columns(:catalog).map(&:name).sort
end
test_create_join_table_without_indexes()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 67
def test_create_join_table_without_indexes
  connection.create_join_table :artists, :musics

  assert connection.indexes(:artists_musics).blank?
end
test_drop_join_table()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 81
def test_drop_join_table
  connection.create_join_table :artists, :musics
  connection.drop_join_table :artists, :musics

  assert !connection.tables.include?('artists_musics')
end
test_drop_join_table_with_column_options()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 116
def test_drop_join_table_with_column_options
  connection.create_join_table :artists, :musics, column_options: {null: true}
  connection.drop_join_table :artists, :musics, column_options: {null: true}

  assert !connection.tables.include?('artists_musics')
end
test_drop_join_table_with_strings()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 88
def test_drop_join_table_with_strings
  connection.create_join_table :artists, :musics
  connection.drop_join_table 'artists', 'musics'

  assert !connection.tables.include?('artists_musics')
end
test_drop_join_table_with_the_proper_order()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 95
def test_drop_join_table_with_the_proper_order
  connection.create_join_table :videos, :musics
  connection.drop_join_table :videos, :musics

  assert !connection.tables.include?('musics_videos')
end
test_drop_join_table_with_the_table_name()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 102
def test_drop_join_table_with_the_table_name
  connection.create_join_table :artists, :musics, table_name: :catalog
  connection.drop_join_table :artists, :musics, table_name: :catalog

  assert !connection.tables.include?('catalog')
end
test_drop_join_table_with_the_table_name_as_string()
# File activerecord/test/cases/migration/create_join_table_test.rb, line 109
def test_drop_join_table_with_the_table_name_as_string
  connection.create_join_table :artists, :musics, table_name: 'catalog'
  connection.drop_join_table :artists, :musics, table_name: 'catalog'

  assert !connection.tables.include?('catalog')
end