Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Test for eager loading of STI subclasses from htm associations

Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
  • Loading branch information...
commit 893d76251f8dc34c79f43d95a66345ec5e44c466 1 parent 4c071bc
@tarmo tarmo authored
View
7 activerecord/test/cases/associations/join_model_test.rb
@@ -694,6 +694,13 @@ def test_has_many_through_include_returns_false_for_non_matching_record_to_verif
assert ! david.categories.include?(category)
end
+ def test_has_many_through_goes_through_all_sti_classes
+ sub_sti_post = SubStiPost.create!(:title => 'test', :body => 'test', :author_id => 1)
+ new_comment = sub_sti_post.comments.create(:body => 'test')
+
+ assert_equal [9, 10, new_comment.id], authors(:david).sti_post_comments.map(&:id).sort
+ end
+
private
# create dynamic Post models to allow different dependency options
def find_post_with_dependency(post_id, association, association_name, dependency)
View
3  activerecord/test/models/author.rb
@@ -32,6 +32,9 @@ def testing_proxy_target
has_many :special_posts
has_many :special_post_comments, :through => :special_posts, :source => :comments
+ has_many :sti_posts, :class_name => 'StiPost'
+ has_many :sti_post_comments, :through => :sti_posts, :source => :comments
+
has_many :special_nonexistant_posts, :class_name => "SpecialPost", :conditions => "posts.body = 'nonexistant'"
has_many :special_nonexistant_post_comments, :through => :special_nonexistant_posts, :source => :comments, :conditions => "comments.post_id = 0"
has_many :nonexistant_comments, :through => :posts
Please sign in to comment.
Something went wrong with that request. Please try again.