aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorSean Griffin <sean@seantheprogrammer.com>2016-12-10 06:20:34 -0500
committerGitHub <noreply@github.com>2016-12-10 06:20:34 -0500
commit2e8dad6318f06d2b41be3b3dd50b8bb112d2d200 (patch)
treebdd4d7da0d2b5aba523fe9bafc9138333882876e /activerecord/test
parent5a5474325f38d892f182fef479ed0ee4e8835cfa (diff)
parent49edce37f92b1dcad4b67b3eb35922e7cec88726 (diff)
downloadrails-2e8dad6318f06d2b41be3b3dd50b8bb112d2d200.tar.gz
rails-2e8dad6318f06d2b41be3b3dd50b8bb112d2d200.tar.bz2
rails-2e8dad6318f06d2b41be3b3dd50b8bb112d2d200.zip
Merge pull request #25227 from kamipo/numeric_value_out_of_range
Translate numeric value out of range to the specific exception
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/adapter_test.rb8
-rw-r--r--activerecord/test/cases/adapters/mysql2/unsigned_type_test.rb4
2 files changed, 10 insertions, 2 deletions
diff --git a/activerecord/test/cases/adapter_test.rb b/activerecord/test/cases/adapter_test.rb
index 2f0e8d866d..8de69869a4 100644
--- a/activerecord/test/cases/adapter_test.rb
+++ b/activerecord/test/cases/adapter_test.rb
@@ -226,6 +226,14 @@ module ActiveRecord
assert_not_nil error.cause
end
+
+ def test_numeric_value_out_of_ranges_are_translated_to_specific_exception
+ error = assert_raises(ActiveRecord::RangeError) do
+ Book.connection.create("INSERT INTO books(author_id) VALUES (2147483648)")
+ end
+
+ assert_not_nil error.cause
+ end
end
def test_disable_referential_integrity
diff --git a/activerecord/test/cases/adapters/mysql2/unsigned_type_test.rb b/activerecord/test/cases/adapters/mysql2/unsigned_type_test.rb
index 59475ad177..268800d538 100644
--- a/activerecord/test/cases/adapters/mysql2/unsigned_type_test.rb
+++ b/activerecord/test/cases/adapters/mysql2/unsigned_type_test.rb
@@ -34,10 +34,10 @@ class Mysql2UnsignedTypeTest < ActiveRecord::Mysql2TestCase
assert_raise(ActiveModel::RangeError) do
UnsignedType.create(unsigned_bigint: -10)
end
- assert_raise(ActiveRecord::StatementInvalid) do
+ assert_raise(ActiveRecord::RangeError) do
UnsignedType.create(unsigned_float: -10.0)
end
- assert_raise(ActiveRecord::StatementInvalid) do
+ assert_raise(ActiveRecord::RangeError) do
UnsignedType.create(unsigned_decimal: -10.0)
end
end