Include 'linked' member for json-api collections

The options passed to the render are partitioned into adapter options
and serializer options. 'include' and 'root' are sent to the adapter,
not sure what options would go directly to serializer, but leaving this
in until I understand that better.
This commit is contained in:
Gary Gordon
2014-10-23 11:46:51 -04:00
parent 80ece39dd9
commit d5bae0c2f0
14 changed files with 250 additions and 56 deletions

View File

@@ -4,7 +4,7 @@ module ActiveModel
class Serializer
class Adapter
class JsonApi
class Collection < Minitest::Test
class CollectionTest < Minitest::Test
def setup
@author = Author.new(id: 1, name: 'Steve K.')
@first_post = Post.new(id: 1, title: 'Hello!!', body: 'Hello, world!!')
@@ -13,6 +13,7 @@ module ActiveModel
@second_post.comments = []
@first_post.author = @author
@second_post.author = @author
@author.posts = [@first_post, @second_post]
@serializer = ArraySerializer.new([@first_post, @second_post])
@adapter = ActiveModel::Serializer::Adapter::JsonApi.new(@serializer)
@@ -20,8 +21,8 @@ module ActiveModel
def test_include_multiple_posts
assert_equal([
{title: "Hello!!", body: "Hello, world!!", id: "1", links: {comments: [], author: "1"}},
{title: "New Post", body: "Body", id: "2", links: {comments: [], author: "1"}}
{ title: "Hello!!", body: "Hello, world!!", id: "1", links: { comments: [], author: "1" } },
{ title: "New Post", body: "Body", id: "2", links: { comments: [], author: "1" } }
], @adapter.serializable_hash[:posts])
end
end