aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-08-22 18:13:39 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2010-08-22 18:13:39 -0700
commita3b8ef8375056cd3b6a8cea49dec671f2a8f6c41 (patch)
tree0e9fd7645dcb8dc334ceabc91407a46910721095 /spec
parent3283adc6d0edcc873256c78842f8ddd233577d08 (diff)
downloadrails-a3b8ef8375056cd3b6a8cea49dec671f2a8f6c41.tar.gz
rails-a3b8ef8375056cd3b6a8cea49dec671f2a8f6c41.tar.bz2
rails-a3b8ef8375056cd3b6a8cea49dec671f2a8f6c41.zip
orders are working
Diffstat (limited to 'spec')
-rw-r--r--spec/arel/nodes/insert_statement_spec.rb4
-rw-r--r--spec/arel/nodes/select_core_spec.rb8
-rw-r--r--spec/arel/nodes/update_statement_spec.rb4
-rw-r--r--spec/arel/select_manager_spec.rb31
4 files changed, 39 insertions, 8 deletions
diff --git a/spec/arel/nodes/insert_statement_spec.rb b/spec/arel/nodes/insert_statement_spec.rb
index 644e3fb192..286a44130c 100644
--- a/spec/arel/nodes/insert_statement_spec.rb
+++ b/spec/arel/nodes/insert_statement_spec.rb
@@ -15,8 +15,8 @@ describe Arel::Nodes::InsertStatement do
end
dolly = statement.clone
- dolly.columns.should == %w[a0 b1 c2]
- dolly.values.should == %w[x0 y1 z2]
+ check dolly.columns.should == %w[a0 b1 c2]
+ check dolly.values.should == %w[x0 y1 z2]
end
end
end
diff --git a/spec/arel/nodes/select_core_spec.rb b/spec/arel/nodes/select_core_spec.rb
index cf717a3904..30927abea6 100644
--- a/spec/arel/nodes/select_core_spec.rb
+++ b/spec/arel/nodes/select_core_spec.rb
@@ -13,11 +13,11 @@ describe Arel::Nodes::SelectCore do
o.should_receive(:clone).and_return("#{o}#{j}")
end
end
-
+
dolly = core.clone
- dolly.froms.should == %w[a0 b1 c2]
- dolly.projections.should == %w[d0 e1 f2]
- dolly.wheres.should == %w[g0 h1 i2]
+ check dolly.froms.should == %w[a0 b1 c2]
+ check dolly.projections.should == %w[d0 e1 f2]
+ check dolly.wheres.should == %w[g0 h1 i2]
end
end
end
diff --git a/spec/arel/nodes/update_statement_spec.rb b/spec/arel/nodes/update_statement_spec.rb
index 8cbca1fd73..3d425e2843 100644
--- a/spec/arel/nodes/update_statement_spec.rb
+++ b/spec/arel/nodes/update_statement_spec.rb
@@ -15,8 +15,8 @@ describe Arel::Nodes::UpdateStatement do
end
dolly = statement.clone
- dolly.wheres.should == %w[a0 b1 c2]
- dolly.values.should == %w[x0 y1 z2]
+ check dolly.wheres.should == %w[a0 b1 c2]
+ check dolly.values.should == %w[x0 y1 z2]
end
end
end
diff --git a/spec/arel/select_manager_spec.rb b/spec/arel/select_manager_spec.rb
index bf4ce2e13f..c29754cb55 100644
--- a/spec/arel/select_manager_spec.rb
+++ b/spec/arel/select_manager_spec.rb
@@ -23,6 +23,37 @@ module Arel
end
describe 'select manager' do
+ describe 'order' do
+ it 'generates order clauses' do
+ table = Table.new :users
+ manager = Arel::SelectManager.new Table.engine
+ manager.project SqlLiteral.new '*'
+ manager.from table
+ manager.order table[:id]
+ manager.to_sql.should be_like %{
+ SELECT * FROM "users" ORDER BY "users"."id"
+ }
+ end
+
+ # FIXME: I would like to deprecate this
+ it 'takes *args' do
+ table = Table.new :users
+ manager = Arel::SelectManager.new Table.engine
+ manager.project SqlLiteral.new '*'
+ manager.from table
+ manager.order table[:id], table[:name]
+ manager.to_sql.should be_like %{
+ SELECT * FROM "users" ORDER BY "users"."id", "users"."name"
+ }
+ end
+
+ it 'chains' do
+ table = Table.new :users
+ manager = Arel::SelectManager.new Table.engine
+ check manager.order(table[:id]).should == manager
+ end
+ end
+
describe 'joins' do
it 'returns join sql' do
table = Table.new :users