diff options
author | Mehmet Emin İNAÇ <mehmetemininac@gmail.com> | 2015-04-28 15:51:51 +0300 |
---|---|---|
committer | Mehmet Emin İNAÇ <mehmetemininac@gmail.com> | 2015-05-04 18:06:06 +0300 |
commit | df94dabb374de5a109de0756c4c19b18375cd5af (patch) | |
tree | 3bd1bab2ea60465df572ca371df9774f59c9f659 /activerecord/test/cases/associations/eager_test.rb | |
parent | 76fc205f9970208d597774095eccdaf07559803b (diff) | |
download | rails-df94dabb374de5a109de0756c4c19b18375cd5af.tar.gz rails-df94dabb374de5a109de0756c4c19b18375cd5af.tar.bz2 rails-df94dabb374de5a109de0756c4c19b18375cd5af.zip |
Fix for activerecord join dependency instantiate bug
use only object_id instead parent class and parent id
test cases
assert_equal
use table name in references
fix minor problems
Diffstat (limited to 'activerecord/test/cases/associations/eager_test.rb')
-rw-r--r-- | activerecord/test/cases/associations/eager_test.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/test/cases/associations/eager_test.rb b/activerecord/test/cases/associations/eager_test.rb index 0ecf2ddfd1..b952f22c50 100644 --- a/activerecord/test/cases/associations/eager_test.rb +++ b/activerecord/test/cases/associations/eager_test.rb @@ -24,6 +24,8 @@ require 'models/membership' require 'models/club' require 'models/categorization' require 'models/sponsor' +require 'models/mentor' +require 'models/contract' class EagerAssociationTest < ActiveRecord::TestCase fixtures :posts, :comments, :authors, :essays, :author_addresses, :categories, :categories_posts, @@ -1214,6 +1216,16 @@ class EagerAssociationTest < ActiveRecord::TestCase assert_no_queries { assert_equal 2, posts[1].categories[0].categorizations.length } end + def test_eager_load_multiple_associations_with_references + mentor = Mentor.create!(name: "Barış Can DAYLIK") + developer = Developer.create!(name: "Mehmet Emin İNAÇ", mentor: mentor) + Contract.create!(developer: developer) + project = Project.create!(name: "VNGRS", mentor: mentor) + project.developers << developer + projects = Project.references(:mentors).includes(mentor: { developers: :contracts }, developers: :contracts) + assert_equal projects.last.mentor.developers.first.contracts, projects.last.developers.last.contracts + end + test "scoping with a circular preload" do assert_equal Comment.find(1), Comment.preload(:post => :comments).scoping { Comment.find(1) } end |