diff options
author | Jon Leighton <j@jonathanleighton.com> | 2010-10-13 18:36:51 +0100 |
---|---|---|
committer | Jon Leighton <j@jonathanleighton.com> | 2010-10-13 18:36:51 +0100 |
commit | 212fdd8ba9624f61421a7a950283537a3d39ac18 (patch) | |
tree | d9b0fef0f9e993d5a4e3a238402aed4609051550 /activerecord/test | |
parent | 5d8bb060909339d858151ca24bf764c642bf2b12 (diff) | |
download | rails-212fdd8ba9624f61421a7a950283537a3d39ac18.tar.gz rails-212fdd8ba9624f61421a7a950283537a3d39ac18.tar.bz2 rails-212fdd8ba9624f61421a7a950283537a3d39ac18.zip |
Add test_has_many_through_has_and_belongs_to_many_with_has_many_source_reflection and make it work
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/associations/nested_has_many_through_associations_test.rb | 12 | ||||
-rw-r--r-- | activerecord/test/models/category.rb | 2 |
2 files changed, 13 insertions, 1 deletions
diff --git a/activerecord/test/cases/associations/nested_has_many_through_associations_test.rb b/activerecord/test/cases/associations/nested_has_many_through_associations_test.rb index 964112b006..4e7e766b14 100644 --- a/activerecord/test/cases/associations/nested_has_many_through_associations_test.rb +++ b/activerecord/test/cases/associations/nested_has_many_through_associations_test.rb @@ -169,9 +169,19 @@ class NestedHasManyThroughAssociationsTest < ActiveRecord::TestCase assert_equal [categories(:general), categories(:cooking)], authors[2].post_categories end - # TODO: has_many through + # has_many through # Source: has_many # Through: has_and_belongs_to_many + def test_has_many_through_has_and_belongs_to_many_with_has_many_source_reflection + assert_equal [comments(:greetings), comments(:more_greetings)], categories(:technology).post_comments + + categories = Category.joins(:post_comments).where('comments.id' => comments(:more_greetings).id) + assert_equal [categories(:general), categories(:technology)], categories + + # TODO: Make this work + # categories = Category.includes(:post_comments) + # assert_equal [comments(:greetings), comments(:more_greetings)], categories[1].post_comments + end # TODO: has_many through # Source: belongs_to diff --git a/activerecord/test/models/category.rb b/activerecord/test/models/category.rb index 48415846dd..c933943813 100644 --- a/activerecord/test/models/category.rb +++ b/activerecord/test/models/category.rb @@ -23,6 +23,8 @@ class Category < ActiveRecord::Base has_many :categorizations has_many :authors, :through => :categorizations, :select => 'authors.*, categorizations.post_id' + + has_many :post_comments, :through => :posts, :source => :comments end class SpecialCategory < Category |