aboutsummaryrefslogtreecommitdiffstats
path: root/spec/arel/insert_manager.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-08-13 15:43:32 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2010-08-13 15:43:32 -0700
commit71803320501604f19dc3312ebcf1bab91d9c5f4c (patch)
treeeaec4fa7d536358bfc84dd0c20b76ea71a18c7fa /spec/arel/insert_manager.rb
parentb1e7bd7d026c888d4c406adc595577b7ebc84ed5 (diff)
downloadrails-71803320501604f19dc3312ebcf1bab91d9c5f4c.tar.gz
rails-71803320501604f19dc3312ebcf1bab91d9c5f4c.tar.bz2
rails-71803320501604f19dc3312ebcf1bab91d9c5f4c.zip
inserts are starting to take shape
Diffstat (limited to 'spec/arel/insert_manager.rb')
-rw-r--r--spec/arel/insert_manager.rb43
1 files changed, 41 insertions, 2 deletions
diff --git a/spec/arel/insert_manager.rb b/spec/arel/insert_manager.rb
index 8d49556fa9..fae776a39d 100644
--- a/spec/arel/insert_manager.rb
+++ b/spec/arel/insert_manager.rb
@@ -13,9 +13,7 @@ module Arel
manager = Arel::InsertManager.new Table.engine
manager.into(Table.new(:users)).should == manager
end
- end
- describe 'to_sql' do
it 'converts to sql' do
table = Table.new :users
manager = Arel::InsertManager.new Table.engine
@@ -25,5 +23,46 @@ module Arel
}
end
end
+
+ describe 'columns' do
+ it "converts to sql" do
+ table = Table.new :users
+ manager = Arel::InsertManager.new Table.engine
+ manager.into table
+ manager.columns << table[:id]
+ manager.to_sql.should be_like %{
+ INSERT INTO "users" ("users"."id")
+ }
+ end
+ end
+
+ describe "values" do
+ it "converts to sql" do
+ table = Table.new :users
+ manager = Arel::InsertManager.new Table.engine
+ manager.into table
+
+ manager.values << 1
+ manager.to_sql.should be_like %{
+ INSERT INTO "users" VALUES (1)
+ }
+ end
+ end
+
+ describe "combo" do
+ it "puts shit together" do
+ table = Table.new :users
+ manager = Arel::InsertManager.new Table.engine
+ manager.into table
+
+ manager.values << 1
+ manager.values << "aaron"
+ manager.columns << table[:id]
+ manager.columns << table[:name]
+ manager.to_sql.should be_like %{
+ INSERT INTO "users" ("users"."id", "users"."name") VALUES (1, 'aaron')
+ }
+ end
+ end
end
end