aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2013-06-22 03:25:43 -0700
committerJon Leighton <j@jonathanleighton.com>2013-06-22 03:25:43 -0700
commit4f46ef36aaef217834f3f96d3689d32f6a6761ea (patch)
tree6a549374c68cbec52f22048245f39c94e5c5247c /activerecord/test
parent88beaee64eeb29bec4a3477dedf6dbbb08b2e108 (diff)
parent32420bd4bcf20dc21e925474cbb0ac2b46722b80 (diff)
downloadrails-4f46ef36aaef217834f3f96d3689d32f6a6761ea.tar.gz
rails-4f46ef36aaef217834f3f96d3689d32f6a6761ea.tar.bz2
rails-4f46ef36aaef217834f3f96d3689d32f6a6761ea.zip
Merge pull request #10796 from neerajdotname/10669
flatten merged join_values before building the joins
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/relation_test.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/activerecord/test/cases/relation_test.rb b/activerecord/test/cases/relation_test.rb
index 55fd068d37..693b36f35c 100644
--- a/activerecord/test/cases/relation_test.rb
+++ b/activerecord/test/cases/relation_test.rb
@@ -176,7 +176,7 @@ module ActiveRecord
assert_equal ['foo = bar'], relation.where_values
end
- def test_relation_merging_with_merged_joins
+ def test_relation_merging_with_merged_joins_as_symbols
special_comments_with_ratings = SpecialComment.joins(:ratings)
posts_with_special_comments_with_ratings = Post.group("posts.id").joins(:special_comments).merge(special_comments_with_ratings)
assert_equal 3, authors(:david).posts.merge(posts_with_special_comments_with_ratings).count.length
@@ -190,6 +190,13 @@ module ActiveRecord
assert_equal false, post.respond_to?(:title), "post should not respond_to?(:body) since invoking it raises exception"
end
+ def test_relation_merging_with_merged_joins_as_strings
+ join_string = "LEFT OUTER JOIN #{Rating.quoted_table_name} ON #{SpecialComment.quoted_table_name}.id = #{Rating.quoted_table_name}.comment_id"
+ special_comments_with_ratings = SpecialComment.joins join_string
+ posts_with_special_comments_with_ratings = Post.group("posts.id").joins(:special_comments).merge(special_comments_with_ratings)
+ assert_equal 3, authors(:david).posts.merge(posts_with_special_comments_with_ratings).count.length
+ end
+
end
class RelationMutationTest < ActiveSupport::TestCase