aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-12-07 11:44:32 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2010-12-07 11:44:32 -0800
commit89194f5976d09a62f967e550daeda41ac0b9de48 (patch)
tree3d479e589e98e4dc6eabdce2ddccca97821441dc /test
parentb9d2cd97888f76cf7c15fd1a7167c638950071c1 (diff)
downloadrails-89194f5976d09a62f967e550daeda41ac0b9de48.tar.gz
rails-89194f5976d09a62f967e550daeda41ac0b9de48.tar.bz2
rails-89194f5976d09a62f967e550daeda41ac0b9de48.zip
adding a join factory method on the select manager
Diffstat (limited to 'test')
-rw-r--r--test/test_select_manager.rb18
-rw-r--r--test/test_table.rb16
2 files changed, 34 insertions, 0 deletions
diff --git a/test/test_select_manager.rb b/test/test_select_manager.rb
index 826832c5ab..2b88022ca3 100644
--- a/test/test_select_manager.rb
+++ b/test/test_select_manager.rb
@@ -277,6 +277,24 @@ module Arel
end
end
+ it 'should create join nodes' do
+ relation = Arel::SelectManager.new Table.engine
+ join = relation.create_join 'foo', 'bar', 'baz'
+ assert_kind_of Arel::Nodes::InnerJoin, join
+ assert_equal 'foo', join.left
+ assert_equal 'bar', join.right
+ assert_equal 'baz', join.constraint
+ end
+
+ it 'should create join nodes with a klass' do
+ relation = Arel::SelectManager.new Table.engine
+ join = relation.create_join 'foo', 'bar', 'baz', Arel::Nodes::OuterJoin
+ assert_kind_of Arel::Nodes::OuterJoin, join
+ assert_equal 'foo', join.left
+ assert_equal 'bar', join.right
+ assert_equal 'baz', join.constraint
+ end
+
describe 'join' do
it 'responds to join' do
left = Table.new :users
diff --git a/test/test_table.rb b/test/test_table.rb
index bb7bd255fd..7d773b2e2b 100644
--- a/test/test_table.rb
+++ b/test/test_table.rb
@@ -6,6 +6,22 @@ module Arel
@relation = Table.new(:users)
end
+ it 'should create join nodes' do
+ join = @relation.create_join 'foo', 'bar', 'baz'
+ assert_kind_of Arel::Nodes::InnerJoin, join
+ assert_equal 'foo', join.left
+ assert_equal 'bar', join.right
+ assert_equal 'baz', join.constraint
+ end
+
+ it 'should create join nodes with a klass' do
+ join = @relation.create_join 'foo', 'bar', 'baz', Arel::Nodes::OuterJoin
+ assert_kind_of Arel::Nodes::OuterJoin, join
+ assert_equal 'foo', join.left
+ assert_equal 'bar', join.right
+ assert_equal 'baz', join.constraint
+ end
+
it 'should return an insert manager' do
im = @relation.compile_insert 'VALUES(NULL)'
assert_kind_of Arel::InsertManager, im