Permalink
Browse files

Add test_has_many_through_has_one_through_with_has_many_source_reflec…

…tion
  • Loading branch information...
1 parent dc39ace commit 56064aa4b014233ae54413628679b7f7fa5d6f77 @jonleighton jonleighton committed Oct 12, 2010
@@ -134,9 +134,26 @@ def test_has_many_through_has_one_with_has_many_through_source_reflection
members.first.organization_member_details
end
- # TODO: has_many through
+ # has_many through
# Source: has_many
# Through: has_one through
+ def test_has_many_through_has_one_through_with_has_many_source_reflection
+ assert_equal [member_details(:groucho), member_details(:some_other_guy)],
+ members(:groucho).organization_member_details_2
+
+ members = Member.joins(:organization_member_details_2).
+ where('member_details.id' => member_details(:groucho).id)
+ assert_equal [members(:groucho), members(:some_other_guy)], members
+
+ members = Member.joins(:organization_member_details_2).
+ where('member_details.id' => 9)
+ assert members.empty?
+
+ # TODO: Make this work
+ # members = Member.includes(:organization_member_details_2)
+ # assert_equal [member_details(:groucho), member_details(:some_other_guy)],
+ # members.first.organization_member_details_2
+ end
# TODO: has_many through
# Source: has_and_belongs_to_many
@@ -17,4 +17,5 @@ class Member < ActiveRecord::Base
has_one :nested_sponsor, :through => :sponsor_club, :source => :sponsor
has_many :organization_member_details, :through => :member_detail
+ has_many :organization_member_details_2, :through => :organization, :source => :member_details
end

0 comments on commit 56064aa

Please sign in to comment.