aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2013-11-13 16:36:12 +0100
committerYves Senn <yves.senn@gmail.com>2013-11-13 17:41:26 +0100
commitf081edb1fe153129a148f844174f98e2577a1f86 (patch)
tree2e8fbb77e38ad77c4aacff8f05edb60e0fed8ead /activerecord/test
parent742adce211649a3d3965d134cd53feab287a0bf6 (diff)
downloadrails-f081edb1fe153129a148f844174f98e2577a1f86.tar.gz
rails-f081edb1fe153129a148f844174f98e2577a1f86.tar.bz2
rails-f081edb1fe153129a148f844174f98e2577a1f86.zip
tests for merging Relations of different classes.
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/relation/merging_test.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/activerecord/test/cases/relation/merging_test.rb b/activerecord/test/cases/relation/merging_test.rb
index 8b71b5b2e9..49c8d07026 100644
--- a/activerecord/test/cases/relation/merging_test.rb
+++ b/activerecord/test/cases/relation/merging_test.rb
@@ -129,3 +129,22 @@ class RelationMergingTest < ActiveRecord::TestCase
assert_equal post, merged.first
end
end
+
+class MergingDifferentRelationsTest < ActiveRecord::TestCase
+ fixtures :posts, :authors
+
+ test "merging where relations" do
+ hello_by_bob = Post.where(body: "hello").joins(:author).
+ merge(Author.where(name: "Bob")).pluck("posts.id")
+
+ assert_equal [posts(:misc_by_bob).id,
+ posts(:other_by_bob).id], hello_by_bob
+ end
+
+ test "merging order relations" do
+ posts_by_author_name = Post.limit(3).joins(:author).
+ merge(Author.order(:name)).pluck("authors.name")
+
+ assert_equal ["Bob", "Bob", "David"], posts_by_author_name
+ end
+end