Skip to content

Commit

Permalink
Test for eager loading of STI subclasses from htm associations
Browse files Browse the repository at this point in the history
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
  • Loading branch information
tarmo committed Aug 24, 2008
1 parent 4c071bc commit 893d762
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
7 changes: 7 additions & 0 deletions activerecord/test/cases/associations/join_model_test.rb
Expand Up @@ -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)
Expand Down
3 changes: 3 additions & 0 deletions activerecord/test/models/author.rb
Expand Up @@ -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
Expand Down

0 comments on commit 893d762

Please sign in to comment.