aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorBryan Helmkamp <bryan@brynary.com>2009-05-17 16:14:28 -0400
committerBryan Helmkamp <bryan@brynary.com>2009-05-17 16:14:28 -0400
commit44743bed5568b3065e4f9da7972e3ea1d0d9e728 (patch)
treea94ba2e964e516e47c7e48e2c746747f6a3f0acd /spec
parent7a51983efc50c8f9092785b1b586f8884dedc01a (diff)
downloadrails-44743bed5568b3065e4f9da7972e3ea1d0d9e728.tar.gz
rails-44743bed5568b3065e4f9da7972e3ea1d0d9e728.tar.bz2
rails-44743bed5568b3065e4f9da7972e3ea1d0d9e728.zip
joining across engines in either direction
Conflicts: spec/arel/engines/memory/integration/joins/cross_engine_spec.rb
Diffstat (limited to 'spec')
-rw-r--r--spec/arel/engines/memory/integration/joins/cross_engine_spec.rb39
1 files changed, 28 insertions, 11 deletions
diff --git a/spec/arel/engines/memory/integration/joins/cross_engine_spec.rb b/spec/arel/engines/memory/integration/joins/cross_engine_spec.rb
index dd923ee6eb..4862300052 100644
--- a/spec/arel/engines/memory/integration/joins/cross_engine_spec.rb
+++ b/spec/arel/engines/memory/integration/joins/cross_engine_spec.rb
@@ -14,17 +14,34 @@ module Arel
.insert(@photos[:id] => 1, @photos[:user_id] => 1, @photos[:camera_id] => 6) \
.insert(@photos[:id] => 2, @photos[:user_id] => 2, @photos[:camera_id] => 42)
end
-
- it 'joins across engines' do
- @users \
- .join(@photos) \
- .on(@users[:id].eq(@photos[:user_id])) \
- .project(@users[:name], @photos[:camera_id]) \
- .let do |relation|
- relation.call.should == [
- Row.new(relation, ['bryan', '6']),
- Row.new(relation, ['emilio', '42'])
- ]
+
+ describe 'when the in memory relation is on the left' do
+ it 'joins across engines' do
+ @users \
+ .join(@photos) \
+ .on(@users[:id].eq(@photos[:user_id])) \
+ .project(@users[:name], @photos[:camera_id]) \
+ .let do |relation|
+ relation.call.should == [
+ Row.new(relation, ['bryan', '6']),
+ Row.new(relation, ['emilio', '42'])
+ ]
+ end
+ end
+ end
+
+ describe 'when the in memory relation is on the right' do
+ it 'joins across engines' do
+ @photos \
+ .join(@users) \
+ .on(@users[:id].eq(@photos[:user_id])) \
+ .project(@users[:name], @photos[:camera_id]) \
+ .let do |relation|
+ relation.call.should == [
+ Row.new(relation, ['bryan', '6']),
+ Row.new(relation, ['emilio', '42'])
+ ]
+ end
end
end
end