diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2010-08-12 21:21:20 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2010-08-12 21:21:20 -0700 |
commit | e573a9ea468d748cf0ebd1a70521c1589efda23e (patch) | |
tree | 0d92325a54370b1412b47e247efe4bd4d86efdc7 /spec | |
parent | 16e7273245473bb6466a79a38702a52387bab44d (diff) | |
download | rails-e573a9ea468d748cf0ebd1a70521c1589efda23e.tar.gz rails-e573a9ea468d748cf0ebd1a70521c1589efda23e.tar.bz2 rails-e573a9ea468d748cf0ebd1a70521c1589efda23e.zip |
limits are added
Diffstat (limited to 'spec')
-rw-r--r-- | spec/arel/table_spec.rb | 13 | ||||
-rw-r--r-- | spec/arel/tree_manager.rb | 23 |
2 files changed, 36 insertions, 0 deletions
diff --git a/spec/arel/table_spec.rb b/spec/arel/table_spec.rb index be153438c4..b68fdd5a3d 100644 --- a/spec/arel/table_spec.rb +++ b/spec/arel/table_spec.rb @@ -6,6 +6,19 @@ module Arel @relation = Table.new(:users) end + describe 'where' do + it "returns a tree manager" do + manager = @relation.where @relation[:id].eq 1 + manager.project @relation[:id] + manager.should be_kind_of TreeManager + manager.to_sql.should == %{ + SELECT "users"."id" + FROM "users" + WHERE "users"."id" = 1 + }.gsub("\n", '').gsub(/(^\s*|\s*$)/, '').squeeze(' ') + end + end + describe 'columns' do it 'returns a list of columns' do columns = @relation.columns diff --git a/spec/arel/tree_manager.rb b/spec/arel/tree_manager.rb index 513b41e305..44dbb9f727 100644 --- a/spec/arel/tree_manager.rb +++ b/spec/arel/tree_manager.rb @@ -2,6 +2,29 @@ require 'spec_helper' module Arel describe 'tree manager' do + describe 'take' do + it "knows take" do + table = Table.new :users + manager = Arel::TreeManager.new Table.engine + manager.from(table).project(table['id']) + manager.where(table['id'].eq(1)) + manager.take 1 + + manager.to_sql.should == %{ + SELECT "users"."id" + FROM "users" + WHERE "users"."id" = 1 + LIMIT 1 + }.gsub("\n", '').gsub(/(^\s*|\s*$)/, '').squeeze(' ') + end + + it "chains" do + table = Table.new :users + manager = Arel::TreeManager.new Table.engine + manager.take(1).should == manager + end + end + describe 'where' do it "knows where" do table = Table.new :users |