Fixes virtual value not being used

This commit is contained in:
Hugo Almeida
2015-06-29 10:48:12 +09:00
parent 059409b0b9
commit f25071ca70
4 changed files with 54 additions and 2 deletions

View File

@@ -31,6 +31,8 @@ module ActiveModel
@post.tags = [@tag]
@serializer = PostSerializer.new(@post)
@adapter = ActiveModel::Serializer::Adapter::JsonApi.new(@serializer)
@virtual_value = VirtualValue.new(id: 1)
end
def test_includes_comment_ids
@@ -115,7 +117,23 @@ module ActiveModel
id: "1",
type: "posts",
relationships: {
tags: { data: nil }
tags: { data: [@tag.as_json]}
}
}
}, adapter.serializable_hash)
end
def test_has_many_with_virtual_value
serializer = VirtualValueSerializer.new(@virtual_value)
adapter = ActiveModel::Serializer::Adapter::JsonApi.new(serializer)
assert_equal({
data: {
id: "1",
type: "virtual_values",
relationships: {
maker: {data: {id: 1}},
reviews: {data: [{id: 1}, {id: 2}]}
}
}
}, adapter.serializable_hash)

View File

@@ -25,6 +25,8 @@ module ActiveModel
@author.posts = []
@author.roles = []
@virtual_value = VirtualValue.new(id: 1)
@serializer = AuthorSerializer.new(@author)
@adapter = ActiveModel::Serializer::Adapter::JsonApi.new(@serializer, include: 'bio,posts')
end
@@ -54,6 +56,24 @@ module ActiveModel
assert_equal(expected, @adapter.serializable_hash[:included])
end
def test_has_one_with_virtual_value
serializer = VirtualValueSerializer.new(@virtual_value)
adapter = ActiveModel::Serializer::Adapter::JsonApi.new(serializer)
expected = {
data: {
id: "1",
type: "virtual_values",
relationships: {
maker: {data: {id: 1}},
reviews: {data: [{id: 1}, {id: 2}]}
}
}
}
assert_equal(expected, adapter.serializable_hash)
end
end
end
end