Created
February 20, 2014 15:12
-
-
Save arthurnn/9115870 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'active_record' | |
require 'minitest/autorun' | |
ActiveRecord::Base.logger = Logger.new(STDOUT) | |
ActiveRecord::Base.establish_connection(adapter: 'mysql2', database: 'test', username:'root') | |
class Home < ActiveRecord::Base | |
connection.create_table table_name, force: true do |t| | |
t.string :name | |
end | |
has_many :home_users, dependent: :destroy | |
has_many :users, through: :home_users | |
end | |
class User < ActiveRecord::Base | |
connection.create_table table_name, force: true do |t| | |
end | |
has_many :home_users | |
has_many :homes, through: :home_users | |
end | |
class HomeUser < ActiveRecord::Base | |
connection.create_table table_name, force: true do |t| | |
t.integer :home_id | |
t.integer :user_id | |
end | |
belongs_to :home | |
belongs_to :user | |
end | |
class BugTest < MiniTest::Unit::TestCase | |
def test_home | |
home = Home.create! | |
user = User.create!(home_ids: [home.id]) | |
assert_equal 1, home.id | |
assert user.homes.exists?(id: home.id) | |
assert user.reload.homes.exists?(id: home.id) | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment