spec/arel/engines/sql/unit/relations/insert_spec.rb in arel-0.2.1 vs spec/arel/engines/sql/unit/relations/insert_spec.rb in arel-0.3.0
- old
+ new
@@ -41,12 +41,21 @@
adapter_is :postgresql do
@insertion.to_sql.should be_like(%Q{
INSERT
INTO "users"
("id", "name") VALUES (1, E'nick')
+ RETURNING "id"
})
end
+
+ adapter_is :oracle do
+ @insertion.to_sql.should be_like(%Q{
+ INSERT
+ INTO "USERS"
+ ("ID", "NAME") VALUES (1, 'nick')
+ })
+ end
end
describe 'when given values whose types correspond to the types of the attributes' do
before do
@insertion = Insert.new(@relation, @relation[:name] => "nick")
@@ -72,12 +81,21 @@
adapter_is :postgresql do
@insertion.to_sql.should be_like(%Q{
INSERT
INTO "users"
("name") VALUES (E'nick')
+ RETURNING "id"
})
end
+
+ adapter_is :oracle do
+ @insertion.to_sql.should be_like(%Q{
+ INSERT
+ INTO "USERS"
+ ("NAME") VALUES ('nick')
+ })
+ end
end
end
describe 'when given values whose types differ from from the types of the attributes' do
before do
@@ -91,16 +109,34 @@
INTO `users`
(`id`) VALUES (1)
})
end
- adapter_is_not :mysql do
+ adapter_is :sqlite3 do
@insertion.to_sql.should be_like(%Q{
INSERT
INTO "users"
("id") VALUES (1)
})
end
+
+ adapter_is :postgresql do
+ @insertion.to_sql.should be_like(%Q{
+ INSERT
+ INTO "users"
+ ("id") VALUES (1)
+ RETURNING "id"
+ })
+ end
+
+ adapter_is :oracle do
+ @insertion.to_sql.should be_like(%Q{
+ INSERT
+ INTO "USERS"
+ ("ID") VALUES (1)
+ })
+ end
+
end
end
end
end
end