From 6aa5cf03ea8232180ffbbae4c130b051f813c670 Mon Sep 17 00:00:00 2001 From: Ryuta Kamizono Date: Fri, 23 Mar 2018 10:05:54 +0900 Subject: Fix that `touch(:updated_at)` causes multiple assignments on the column The multiple assignments was caused by 37a1dfa due to lost the `to_s` normalization for given names. Fixes #32323. --- activerecord/test/cases/timestamp_test.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'activerecord/test') diff --git a/activerecord/test/cases/timestamp_test.rb b/activerecord/test/cases/timestamp_test.rb index e95446c0a7..d9f7a81ce4 100644 --- a/activerecord/test/cases/timestamp_test.rb +++ b/activerecord/test/cases/timestamp_test.rb @@ -96,6 +96,16 @@ class TimestampTest < ActiveRecord::TestCase assert_not_equal @previously_updated_at, @developer.updated_at end + def test_touching_update_at_attribute_as_symbol_updates_timestamp + travel(1.second) do + @developer.touch(:updated_at) + end + + assert_not @developer.updated_at_changed? + assert_not @developer.changed? + assert_not_equal @previously_updated_at, @developer.updated_at + end + def test_touching_an_attribute_updates_it task = Task.first previous_value = task.ending -- cgit v1.2.3