diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-10-27 22:07:41 -0200 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-10-27 22:07:41 -0200 |
commit | 0ef2256c4a7635e78126cce4aa2c7467d2fb414f (patch) | |
tree | 6c6471e9dac32d303a93c5cde655123f4eef6faf /activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb | |
parent | c19d664380199dac1474c303cf4f8b416986f106 (diff) | |
parent | 33a5416461bc5068d85d33259310f56625569e86 (diff) | |
download | rails-0ef2256c4a7635e78126cce4aa2c7467d2fb414f.tar.gz rails-0ef2256c4a7635e78126cce4aa2c7467d2fb414f.tar.bz2 rails-0ef2256c4a7635e78126cce4aa2c7467d2fb414f.zip |
Merge pull request #18383 from scambra/habtm-with-where-includes-16032-for-master
Includes HABTM returns correct size now
Diffstat (limited to 'activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb')
-rw-r--r-- | activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb b/activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb index 20af436e02..e9f679e6de 100644 --- a/activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb +++ b/activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb @@ -957,4 +957,23 @@ class HasAndBelongsToManyAssociationsTest < ActiveRecord::TestCase projects = ProjectUnscopingDavidDefaultScope.includes(:developers).where(id: project.id) assert_equal 1, projects.first.developers.size end + + def test_preloaded_associations_size + assert_equal Project.first.salaried_developers.size, + Project.preload(:salaried_developers).first.salaried_developers.size + + assert_equal Project.includes(:salaried_developers).references(:salaried_developers).first.salaried_developers.size, + Project.preload(:salaried_developers).first.salaried_developers.size + + # Nested HATBM + first_project = Developer.first.projects.first + preloaded_first_project = + Developer.preload(projects: :salaried_developers). + first. + projects. + detect { |p| p.id == first_project.id } + + assert preloaded_first_project.salaried_developers.loaded?, true + assert_equal first_project.salaried_developers.size, preloaded_first_project.salaried_developers.size + end end |