From 1bb0605dfe09f654d9ad43a86b69183cd6f653f2 Mon Sep 17 00:00:00 2001 From: Mike Mangino Date: Fri, 3 Mar 2017 15:02:35 -0500 Subject: Don't accidentally lose includes in serialization --- activemodel/test/cases/serialization_test.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'activemodel/test') diff --git a/activemodel/test/cases/serialization_test.rb b/activemodel/test/cases/serialization_test.rb index f78efd2f0c..3446742d8c 100644 --- a/activemodel/test/cases/serialization_test.rb +++ b/activemodel/test/cases/serialization_test.rb @@ -144,6 +144,12 @@ class SerializationTest < ActiveModel::TestCase assert_equal expected, @user.serializable_hash(include: { address: { only: "street" } }) end + def test_multiple_includes_with_options + expected = { "email" => "david@example.com", "gender" => "male", "name" => "David", + "address" => { "street" => "123 Lane" } } + assert_equal expected, @user.serializable_hash(include: { address: { only: "street" } }) + end + def test_nested_include @user.friends.first.friends = [@user] expected = { "email" => "david@example.com", "gender" => "male", "name" => "David", @@ -168,8 +174,8 @@ class SerializationTest < ActiveModel::TestCase def test_multiple_includes_with_options expected = { "email" => "david@example.com", "gender" => "male", "name" => "David", "address" => { "street" => "123 Lane" }, - "friends" => [{ "name" => "Joe", "email" => "joe@example.com", "gender" => "male" }, - { "name" => "Sue", "email" => "sue@example.com", "gender" => "female" }] } - assert_equal expected, @user.serializable_hash(include: [{ address: { only: "street" } }, :friends]) + "friends" => [{ "name" => "Joe" }, + { "name" => "Sue" }] } + assert_equal expected, @user.serializable_hash(include: [ address: { only: "street" } , friends: {only: "name"}]) end end -- cgit v1.2.3