aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2015-07-14 10:18:12 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2015-07-14 10:18:12 -0700
commit76694a9b9994428838a81746a37e26f698aa4c67 (patch)
treeae111290de7c80721da508d668d534551e10cec2 /test
parentce1a5a73996c23fe13836eab7fa9c7e803155161 (diff)
parent956b40e93492b147e239d25b502148c9070ffa9d (diff)
downloadrails-76694a9b9994428838a81746a37e26f698aa4c67.tar.gz
rails-76694a9b9994428838a81746a37e26f698aa4c67.tar.bz2
rails-76694a9b9994428838a81746a37e26f698aa4c67.zip
Merge pull request #361 from evgenim/master
Fix visit_Arel_Nodes_FullOuterJoin/RightOuterJoin
Diffstat (limited to 'test')
-rw-r--r--test/test_select_manager.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/test_select_manager.rb b/test/test_select_manager.rb
index 7192027df4..8425cee031 100644
--- a/test/test_select_manager.rb
+++ b/test/test_select_manager.rb
@@ -584,6 +584,36 @@ module Arel
}
end
+ it 'takes the full outer join class' do
+ left = Table.new :users
+ right = left.alias
+ predicate = left[:id].eq(right[:id])
+ manager = Arel::SelectManager.new
+
+ manager.from left
+ manager.join(right, Nodes::FullOuterJoin).on(predicate)
+ manager.to_sql.must_be_like %{
+ SELECT FROM "users"
+ FULL OUTER JOIN "users" "users_2"
+ ON "users"."id" = "users_2"."id"
+ }
+ end
+
+ it 'takes the right outer join class' do
+ left = Table.new :users
+ right = left.alias
+ predicate = left[:id].eq(right[:id])
+ manager = Arel::SelectManager.new
+
+ manager.from left
+ manager.join(right, Nodes::RightOuterJoin).on(predicate)
+ manager.to_sql.must_be_like %{
+ SELECT FROM "users"
+ RIGHT OUTER JOIN "users" "users_2"
+ ON "users"."id" = "users_2"."id"
+ }
+ end
+
it 'noops on nil' do
manager = Arel::SelectManager.new
manager.join(nil).must_equal manager