aboutsummaryrefslogtreecommitdiffstats
path: root/spec/arel
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-08-14 18:29:32 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2010-08-14 18:29:32 -0700
commitdddf2d1f095230fde5e8704632df1ecca54e5ca6 (patch)
tree29386e06582ed029cf94218a87b7f71d88866254 /spec/arel
parent74a27a0d83ecd7ed4975851ea92ee517a1581faf (diff)
downloadrails-dddf2d1f095230fde5e8704632df1ecca54e5ca6.tar.gz
rails-dddf2d1f095230fde5e8704632df1ecca54e5ca6.tar.bz2
rails-dddf2d1f095230fde5e8704632df1ecca54e5ca6.zip
basic updates are working
Diffstat (limited to 'spec/arel')
-rw-r--r--spec/arel/update_manager_spec.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/spec/arel/update_manager_spec.rb b/spec/arel/update_manager_spec.rb
new file mode 100644
index 0000000000..9d2346137f
--- /dev/null
+++ b/spec/arel/update_manager_spec.rb
@@ -0,0 +1,43 @@
+require 'spec_helper'
+
+module Arel
+ describe 'update manager' do
+ describe 'new' do
+ it 'takes an engine' do
+ Arel::UpdateManager.new Table.engine
+ end
+ end
+
+ describe 'table' do
+ it 'generates an update statement' do
+ um = Arel::UpdateManager.new Table.engine
+ um.table Table.new(:users)
+ um.to_sql.should be_like %{ UPDATE "users" }
+ end
+
+ it 'chains' do
+ um = Arel::UpdateManager.new Table.engine
+ um.table(Table.new(:users)).should == um
+ end
+ end
+
+ describe 'where' do
+ it 'generates a where clause' do
+ table = Table.new :users
+ um = Arel::UpdateManager.new Table.engine
+ um.table table
+ um.where table[:id].eq(1)
+ um.to_sql.should be_like %{
+ UPDATE "users" WHERE "users"."id" = 1
+ }
+ end
+
+ it 'chains' do
+ table = Table.new :users
+ um = Arel::UpdateManager.new Table.engine
+ um.table table
+ um.where(table[:id].eq(1)).should == um
+ end
+ end
+ end
+end