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 96607996eaa826b5299780c7c9142e6e0157d198 1 parent 8cfdcdb
@tarmo tarmo authored lifo committed
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.