diff options
author | Nick Kallen <nkallen@nick-kallens-computer-2.local> | 2008-04-18 12:59:29 -0700 |
---|---|---|
committer | Nick Kallen <nkallen@nick-kallens-computer-2.local> | 2008-04-18 12:59:29 -0700 |
commit | d51139751eae2be6ee32b44edec39fcf09ed2333 (patch) | |
tree | c87d1bbb97cc5ba9f496f7c76fcf2fe7eaeee9f4 /spec/arel/unit/relations/deletion_spec.rb | |
parent | d27ab7bb8ba0d8f136af2ed955d9e489ba45daec (diff) | |
download | rails-d51139751eae2be6ee32b44edec39fcf09ed2333.tar.gz rails-d51139751eae2be6ee32b44edec39fcf09ed2333.tar.bz2 rails-d51139751eae2be6ee32b44edec39fcf09ed2333.zip |
officially renamed active_relation to arel
Diffstat (limited to 'spec/arel/unit/relations/deletion_spec.rb')
-rw-r--r-- | spec/arel/unit/relations/deletion_spec.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/spec/arel/unit/relations/deletion_spec.rb b/spec/arel/unit/relations/deletion_spec.rb new file mode 100644 index 0000000000..f975720d83 --- /dev/null +++ b/spec/arel/unit/relations/deletion_spec.rb @@ -0,0 +1,42 @@ +require File.join(File.dirname(__FILE__), '..', '..', '..', 'spec_helper') + +module Arel + describe Deletion do + before do + @relation = Table.new(:users) + end + + describe '#to_sql' do + it 'manufactures sql deleting a table relation' do + Deletion.new(@relation).to_sql.should be_like(" + DELETE + FROM `users` + ") + end + + it 'manufactures sql deleting a selection relation' do + Deletion.new(@relation.select(@relation[:id].eq(1))).to_sql.should be_like(" + DELETE + FROM `users` + WHERE `users`.`id` = 1 + ") + end + + it "manufactures sql deleting a ranged relation" do + Deletion.new(@relation.take(1)).to_sql.should be_like(" + DELETE + FROM `users` + LIMIT 1 + ") + end + end + + describe '#call' do + it 'executes a delete on the connection' do + deletion = Deletion.new(@relation) + mock(connection = Object.new).delete(deletion.to_sql) + deletion.call(connection) + end + end + end +end
\ No newline at end of file |