aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2016-01-05 22:39:50 -0200
committerRafael França <rafaelmfranca@gmail.com>2016-01-05 22:39:50 -0200
commit91ceac3728e1fc0ea3bf757c592939758defd27b (patch)
tree68544c2f36028666be4f2721d63edc86212b8514 /activerecord/test
parentb7b508aa7908efb1c6ef6667e3087f4f6a4b508f (diff)
parent326b12ae528433238b41941843849447fdbe7435 (diff)
downloadrails-91ceac3728e1fc0ea3bf757c592939758defd27b.tar.gz
rails-91ceac3728e1fc0ea3bf757c592939758defd27b.tar.bz2
rails-91ceac3728e1fc0ea3bf757c592939758defd27b.zip
Merge pull request #22920 from kamipo/fix_connection_create
Fix `connection#create` in PG adapter
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/database_statements_test.rb15
1 files changed, 12 insertions, 3 deletions
diff --git a/activerecord/test/cases/database_statements_test.rb b/activerecord/test/cases/database_statements_test.rb
index c689e97d83..ba085991e0 100644
--- a/activerecord/test/cases/database_statements_test.rb
+++ b/activerecord/test/cases/database_statements_test.rb
@@ -6,14 +6,23 @@ class DatabaseStatementsTest < ActiveRecord::TestCase
end
def test_insert_should_return_the_inserted_id
+ assert_not_nil return_the_inserted_id(method: :insert)
+ end
+
+ def test_create_should_return_the_inserted_id
+ assert_not_nil return_the_inserted_id(method: :create)
+ end
+
+ private
+
+ def return_the_inserted_id(method:)
# Oracle adapter uses prefetched primary key values from sequence and passes them to connection adapter insert method
if current_adapter?(:OracleAdapter)
sequence_name = "accounts_seq"
id_value = @connection.next_sequence_value(sequence_name)
- id = @connection.insert("INSERT INTO accounts (id, firm_id,credit_limit) VALUES (accounts_seq.nextval,42,5000)", nil, :id, id_value, sequence_name)
+ @connection.send(method, "INSERT INTO accounts (id, firm_id,credit_limit) VALUES (accounts_seq.nextval,42,5000)", nil, :id, id_value, sequence_name)
else
- id = @connection.insert("INSERT INTO accounts (firm_id,credit_limit) VALUES (42,5000)")
+ @connection.send(method, "INSERT INTO accounts (firm_id,credit_limit) VALUES (42,5000)")
end
- assert_not_nil id
end
end