From e573a9ea468d748cf0ebd1a70521c1589efda23e Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Thu, 12 Aug 2010 21:21:20 -0700 Subject: limits are added --- spec/arel/table_spec.rb | 13 +++++++++++++ spec/arel/tree_manager.rb | 23 +++++++++++++++++++++++ 2 files changed, 36 insertions(+) (limited to 'spec') 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 -- cgit v1.2.3