aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-09-07 16:37:11 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2010-09-07 16:37:11 -0700
commit5ab502a755d0031d229278b6f14123c45623dd04 (patch)
tree3c2948cda53c1c33d69b8d81542ce2d407adc512 /spec
parentcea486ac810a92ef4f96ef84e3a412fd7a4f6925 (diff)
downloadrails-5ab502a755d0031d229278b6f14123c45623dd04.tar.gz
rails-5ab502a755d0031d229278b6f14123c45623dd04.tar.bz2
rails-5ab502a755d0031d229278b6f14123c45623dd04.zip
adding "as" and to_sql to count nodes
Diffstat (limited to 'spec')
-rw-r--r--spec/arel/attributes/attribute_spec.rb7
-rw-r--r--spec/arel/nodes/count_spec.rb12
2 files changed, 19 insertions, 0 deletions
diff --git a/spec/arel/attributes/attribute_spec.rb b/spec/arel/attributes/attribute_spec.rb
index e6e6483e64..f9eb56391e 100644
--- a/spec/arel/attributes/attribute_spec.rb
+++ b/spec/arel/attributes/attribute_spec.rb
@@ -3,6 +3,13 @@ require 'spec_helper'
module Arel
module Attributes
describe 'attribute' do
+ describe '#count' do
+ it 'should return a count node' do
+ relation = Table.new(:users)
+ relation[:id].count.should be_kind_of Nodes::Count
+ end
+ end
+
describe '#eq' do
it 'should return an equality node' do
attribute = Attribute.new nil, nil, nil
diff --git a/spec/arel/nodes/count_spec.rb b/spec/arel/nodes/count_spec.rb
new file mode 100644
index 0000000000..7013a16429
--- /dev/null
+++ b/spec/arel/nodes/count_spec.rb
@@ -0,0 +1,12 @@
+require 'spec_helper'
+
+describe Arel::Nodes::Count do
+ describe "as" do
+ it 'should alias the count' do
+ table = Arel::Table.new :users
+ table[:id].count.as('foo').to_sql.should be_like %{
+ COUNT("users"."id") AS foo
+ }
+ end
+ end
+end