aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/yaml_serialization_test.rb
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-06-10 11:47:25 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-06-10 11:47:25 -0300
commit4bd2a50f882065ab4113df4c5711dd1a156a465b (patch)
tree1494aae135529e4724b2f18e8bf300e9e043895a /activerecord/test/cases/yaml_serialization_test.rb
parentd5f480c5324c02d89b23e24a92a7a4ea58de59bc (diff)
parent47f1c10c8fb7ed9f8999dda5b4a7f42e34afeec6 (diff)
downloadrails-4bd2a50f882065ab4113df4c5711dd1a156a465b.tar.gz
rails-4bd2a50f882065ab4113df4c5711dd1a156a465b.tar.bz2
rails-4bd2a50f882065ab4113df4c5711dd1a156a465b.zip
Merge pull request #15609 from sgrif/sg-yaml-virtual-columns
Keep the types of virtual columns after yaml serialization
Diffstat (limited to 'activerecord/test/cases/yaml_serialization_test.rb')
-rw-r--r--activerecord/test/cases/yaml_serialization_test.rb15
1 files changed, 14 insertions, 1 deletions
diff --git a/activerecord/test/cases/yaml_serialization_test.rb b/activerecord/test/cases/yaml_serialization_test.rb
index d4f8ef5b4d..9f1d110ddb 100644
--- a/activerecord/test/cases/yaml_serialization_test.rb
+++ b/activerecord/test/cases/yaml_serialization_test.rb
@@ -1,8 +1,10 @@
require 'cases/helper'
require 'models/topic'
+require 'models/post'
+require 'models/author'
class YamlSerializationTest < ActiveRecord::TestCase
- fixtures :topics
+ fixtures :topics, :authors, :posts
def test_to_yaml_with_time_with_zone_should_not_raise_exception
with_timezone_config aware_attributes: true, zone: "Pacific Time (US & Canada)" do
@@ -69,4 +71,15 @@ class YamlSerializationTest < ActiveRecord::TestCase
assert_not topic.new_record?, "Loaded records without ID are not new"
assert_not YAML.load(YAML.dump(topic)).new_record?, "Record should not be new after deserialization"
end
+
+ def test_types_of_virtual_columns_are_not_changed_on_round_trip
+ author = Author.select('authors.*, count(posts.id) as posts_count')
+ .joins(:posts)
+ .group('authors.id')
+ .first
+ dumped = YAML.load(YAML.dump(author))
+
+ assert_equal 5, author.posts_count
+ assert_equal 5, dumped.posts_count
+ end
end