aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2018-05-25 12:05:50 +0900
committerRyuta Kamizono <kamipo@gmail.com>2018-05-28 10:12:15 +0900
commitfe9547b6fb60d92af181c8613166fa4322f8e307 (patch)
treee09b34beb48e37ea66d5c7df19fd3e7e7db5f531 /activerecord
parent17bf62033edd4f0934c9f4a9e0c7a5f0f765975b (diff)
downloadrails-fe9547b6fb60d92af181c8613166fa4322f8e307.tar.gz
rails-fe9547b6fb60d92af181c8613166fa4322f8e307.tar.bz2
rails-fe9547b6fb60d92af181c8613166fa4322f8e307.zip
Parse raw value only when a value came from user in numericality validator
Since `parse_raw_value_as_a_number` may not always parse raw value from database as a number without type casting (e.g. "$150.55" as money format). Fixes #32531.
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/test/cases/adapters/postgresql/money_test.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/activerecord/test/cases/adapters/postgresql/money_test.rb b/activerecord/test/cases/adapters/postgresql/money_test.rb
index be3590e8dd..61e75e772d 100644
--- a/activerecord/test/cases/adapters/postgresql/money_test.rb
+++ b/activerecord/test/cases/adapters/postgresql/money_test.rb
@@ -6,7 +6,9 @@ require "support/schema_dumping_helper"
class PostgresqlMoneyTest < ActiveRecord::PostgreSQLTestCase
include SchemaDumpingHelper
- class PostgresqlMoney < ActiveRecord::Base; end
+ class PostgresqlMoney < ActiveRecord::Base
+ validates :depth, numericality: true
+ end
setup do
@connection = ActiveRecord::Base.connection
@@ -35,6 +37,7 @@ class PostgresqlMoneyTest < ActiveRecord::PostgreSQLTestCase
def test_default
assert_equal BigDecimal("150.55"), PostgresqlMoney.column_defaults["depth"]
assert_equal BigDecimal("150.55"), PostgresqlMoney.new.depth
+ assert_equal "$150.55", PostgresqlMoney.new.depth_before_type_cast
end
def test_money_values