diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2015-07-14 10:18:12 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2015-07-14 10:18:12 -0700 |
commit | 76694a9b9994428838a81746a37e26f698aa4c67 (patch) | |
tree | ae111290de7c80721da508d668d534551e10cec2 /test | |
parent | ce1a5a73996c23fe13836eab7fa9c7e803155161 (diff) | |
parent | 956b40e93492b147e239d25b502148c9070ffa9d (diff) | |
download | rails-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.rb | 30 |
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 |