aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/migration/create_join_table_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/test/cases/migration/create_join_table_test.rb')
-rw-r--r--activerecord/test/cases/migration/create_join_table_test.rb41
1 files changed, 24 insertions, 17 deletions
diff --git a/activerecord/test/cases/migration/create_join_table_test.rb b/activerecord/test/cases/migration/create_join_table_test.rb
index 0428d9ba76..cd1b0e8b47 100644
--- a/activerecord/test/cases/migration/create_join_table_test.rb
+++ b/activerecord/test/cases/migration/create_join_table_test.rb
@@ -10,60 +10,67 @@ module ActiveRecord
@connection = ActiveRecord::Base.connection
end
+ def teardown
+ super
+ %w(artists_musics musics_videos catalog).each do |table_name|
+ connection.drop_table table_name if connection.tables.include?(table_name)
+ end
+ end
+
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
- ensure
- connection.drop_table :artists_musics
end
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)
- ensure
- connection.drop_table :artists_musics
end
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
- ensure
- connection.drop_table :artists_musics
end
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
- ensure
- connection.drop_table :musics_videos
end
def test_create_join_table_with_the_table_name
- connection.create_join_table :artists, :musics, :table_name => :catalog
+ connection.create_join_table :artists, :musics, table_name: :catalog
assert_equal %w(artist_id music_id), connection.columns(:catalog).map(&:name).sort
- ensure
- connection.drop_table :catalog
end
def test_create_join_table_with_the_table_name_as_string
- connection.create_join_table :artists, :musics, :table_name => 'catalog'
+ connection.create_join_table :artists, :musics, table_name: 'catalog'
assert_equal %w(artist_id music_id), connection.columns(:catalog).map(&:name).sort
- ensure
- connection.drop_table :catalog
end
def test_create_join_table_with_column_options
- connection.create_join_table :artists, :musics, :column_options => {:null => true}
+ connection.create_join_table :artists, :musics, column_options: {null: true}
assert_equal [true, true], connection.columns(:artists_musics).map(&:null)
- ensure
- connection.drop_table :artists_musics
+ end
+
+ def test_create_join_table_without_indexes
+ connection.create_join_table :artists, :musics
+
+ assert connection.indexes(:artists_musics).blank?
+ end
+
+ 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
end
end