aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-11-05 14:05:10 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2010-11-05 14:05:10 -0700
commit424e39d6883e5ab53a0f2c5d27508b36b1fb5879 (patch)
tree5ba0268df9f31e02e41436db87f79db0e9a5569b /test
parentd9d9944b37b959c6b6f00d4f38048cc541a56ad8 (diff)
downloadrails-424e39d6883e5ab53a0f2c5d27508b36b1fb5879.tar.gz
rails-424e39d6883e5ab53a0f2c5d27508b36b1fb5879.tar.bz2
rails-424e39d6883e5ab53a0f2c5d27508b36b1fb5879.zip
adding proper columns to our fake table
Diffstat (limited to 'test')
-rw-r--r--test/support/fake_record.rb4
-rw-r--r--test/test_insert_manager.rb11
-rw-r--r--test/test_table.rb4
-rw-r--r--test/visitors/test_to_sql.rb13
4 files changed, 15 insertions, 17 deletions
diff --git a/test/support/fake_record.rb b/test/support/fake_record.rb
index e0f9685c05..376ed40f2d 100644
--- a/test/support/fake_record.rb
+++ b/test/support/fake_record.rb
@@ -10,7 +10,9 @@ module FakeRecord
@columns = {
'users' => [
Column.new('id', :integer),
- Column.new('name', :string)
+ Column.new('name', :string),
+ Column.new('bool', :boolean),
+ Column.new('created_at', :date),
]
}
@primary_keys = {
diff --git a/test/test_insert_manager.rb b/test/test_insert_manager.rb
index 3094408a41..0a1b1fcf5a 100644
--- a/test/test_insert_manager.rb
+++ b/test/test_insert_manager.rb
@@ -13,11 +13,9 @@ module Arel
table = Table.new(:users)
manager = Arel::InsertManager.new Table.engine
- table[:id].column.extend(Module.new { def type; :boolean; end })
-
- manager.insert [[table[:id], false]]
+ manager.insert [[table[:bool], false]]
manager.to_sql.must_be_like %{
- INSERT INTO "users" ("id") VALUES ('f')
+ INSERT INTO "users" ("bool") VALUES ('f')
}
end
@@ -35,12 +33,11 @@ module Arel
manager = Arel::InsertManager.new Table.engine
time = Time.now
- attribute = table[:id]
- attribute.column.type = :date
+ attribute = table[:created_at]
manager.insert [[attribute, time]]
manager.to_sql.must_be_like %{
- INSERT INTO "users" ("id") VALUES (#{Table.engine.connection.quote time})
+ INSERT INTO "users" ("created_at") VALUES (#{Table.engine.connection.quote time})
}
end
diff --git a/test/test_table.rb b/test/test_table.rb
index d34383922c..0dbb3f8dd1 100644
--- a/test/test_table.rb
+++ b/test/test_table.rb
@@ -150,8 +150,8 @@ module Arel
describe 'columns' do
it 'returns a list of columns' do
columns = @relation.columns
- columns.length.must_equal 2
- columns.map { |x| x.name.to_s }.sort.must_equal %w{ name id }.sort
+ columns.length.must_equal 4
+ columns.map { |x| x.name.to_s }.sort.must_equal %w{ created_at bool name id }.sort
end
end
diff --git a/test/visitors/test_to_sql.rb b/test/visitors/test_to_sql.rb
index a6042ef9c3..8723332005 100644
--- a/test/visitors/test_to_sql.rb
+++ b/test/visitors/test_to_sql.rb
@@ -69,9 +69,8 @@ module Arel
end
it "should visit_TrueClass" do
- test = @attr.eq(true)
- test.left.column.type = :boolean
- @visitor.accept(test).must_be_like %{ "users"."id" = 't' }
+ test = Table.new(:users)[:bool].eq(true)
+ @visitor.accept(test).must_be_like %{ "users"."bool" = 't' }
end
describe "Nodes::Ordering" do
@@ -113,6 +112,7 @@ module Arel
end
it 'uses the same column for escaping values' do
+ @attr = Table.new(:users)[:name]
visitor = Class.new(ToSql) do
attr_accessor :expected
@@ -124,16 +124,15 @@ module Arel
in_node = Nodes::In.new @attr, %w{ a b c }
visitor = visitor.new(Table.engine)
visitor.expected = @attr.column
- visitor.accept(in_node).must_equal %("users"."id" IN ('a', 'b', 'c'))
+ visitor.accept(in_node).must_equal %("users"."name" IN ('a', 'b', 'c'))
end
end
describe 'Equality' do
it "should escape strings" do
- test = @attr.eq 'Aaron Patterson'
- test.left.column.type = :string
+ test = Table.new(:users)[:name].eq 'Aaron Patterson'
@visitor.accept(test).must_be_like %{
- "users"."id" = 'Aaron Patterson'
+ "users"."name" = 'Aaron Patterson'
}
end
end