aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/serialized_attribute_test.rb
diff options
context:
space:
mode:
authorGannon McGibbon <gannon.mcgibbon@gmail.com>2019-01-08 18:16:02 -0500
committerGannon McGibbon <gannon.mcgibbon@gmail.com>2019-01-09 00:36:27 -0500
commit686f85515f64aa5cffd44a392d9c2ea0b8b0d51f (patch)
treec5fe6b158ff38308baf7d19bdae48a571478207d /activerecord/test/cases/serialized_attribute_test.rb
parent842bc43f7f1cacf54b630e91de32f50456b1bff6 (diff)
downloadrails-686f85515f64aa5cffd44a392d9c2ea0b8b0d51f.tar.gz
rails-686f85515f64aa5cffd44a392d9c2ea0b8b0d51f.tar.bz2
rails-686f85515f64aa5cffd44a392d9c2ea0b8b0d51f.zip
Reset column info on original Topic in serialized attr test
Call .reset_column_information on ::Topic in serialized attribute test so that attribute methods are safely undefined for all topics.
Diffstat (limited to 'activerecord/test/cases/serialized_attribute_test.rb')
-rw-r--r--activerecord/test/cases/serialized_attribute_test.rb13
1 files changed, 11 insertions, 2 deletions
diff --git a/activerecord/test/cases/serialized_attribute_test.rb b/activerecord/test/cases/serialized_attribute_test.rb
index f6cd4f85ee..fa136fe8da 100644
--- a/activerecord/test/cases/serialized_attribute_test.rb
+++ b/activerecord/test/cases/serialized_attribute_test.rb
@@ -22,7 +22,7 @@ class SerializedAttributeTest < ActiveRecord::TestCase
end
def test_serialize_does_not_eagerly_load_columns
- Topic.reset_column_information
+ reset_column_information_of(Topic)
assert_no_queries do
Topic.serialize(:content)
end
@@ -377,7 +377,8 @@ class SerializedAttributeTest < ActiveRecord::TestCase
topic.update group: "1"
model.serialize :group, JSON
- model.reset_column_information
+
+ reset_column_information_of(model)
# This isn't strictly necessary for the test, but a little bit of
# knowledge of internals allows us to make failures far more likely.
@@ -397,4 +398,12 @@ class SerializedAttributeTest < ActiveRecord::TestCase
# raw string ("1"), or raise an exception.
assert_equal [1] * threads.size, threads.map(&:value)
end
+
+ private
+
+ def reset_column_information_of(topic_class)
+ topic_class.reset_column_information
+ # reset original topic to undefine attribute methods
+ ::Topic.reset_column_information
+ end
end