From c3606afb2a54ac11e31360cf1dbe13fbdf893f73 Mon Sep 17 00:00:00 2001 From: Severin Schoepke Date: Fri, 25 Oct 2013 14:45:52 +0200 Subject: cast json values on write to be consistent with reading from the db. See also commit 5ac2341fab689344991b2a4817bd2bc8b3edac9d --- activerecord/test/cases/adapters/postgresql/json_test.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'activerecord/test/cases/adapters/postgresql/json_test.rb') diff --git a/activerecord/test/cases/adapters/postgresql/json_test.rb b/activerecord/test/cases/adapters/postgresql/json_test.rb index f7609404ce..c33c7ef968 100644 --- a/activerecord/test/cases/adapters/postgresql/json_test.rb +++ b/activerecord/test/cases/adapters/postgresql/json_test.rb @@ -49,6 +49,13 @@ class PostgresqlJSONTest < ActiveRecord::TestCase JsonDataType.reset_column_information end + def test_cast_value_on_write + x = JsonDataType.new payload: {"string" => "foo", :symbol => :bar} + assert_equal({"string" => "foo", "symbol" => "bar"}, x.payload) + x.save + assert_equal({"string" => "foo", "symbol" => "bar"}, x.reload.payload) + end + def test_type_cast_json assert @column -- cgit v1.2.3