Merge pull request #1418 from brigade/collection-pluralize

Don't pluralize the CollectionSerializer#root for #json_key
This commit is contained in:
Alexandre de Oliveira
2016-01-25 19:46:47 -02:00
4 changed files with 22 additions and 10 deletions

View File

@@ -171,7 +171,7 @@ module ActionController
with_adapter :json do
get :render_array_using_custom_root
end
expected = { custom_roots: [{ name: 'Name 1', description: 'Description 1' }] }
expected = { custom_root: [{ name: 'Name 1', description: 'Description 1' }] }
assert_equal 'application/json', @response.content_type
assert_equal expected.to_json, @response.body
end
@@ -181,7 +181,7 @@ module ActionController
get :render_array_that_is_empty_using_custom_root
end
expected = { custom_roots: [] }
expected = { custom_root: [] }
assert_equal 'application/json', @response.content_type
assert_equal expected.to_json, @response.body
end

View File

@@ -62,8 +62,9 @@ module ActiveModel
assert_equal expected, @serializer.root
end
def test_json_key
assert_equal 'comments', @serializer.json_key
def test_json_key_with_resource_with_serializer
singular_key = @serializer.send(:serializers).first.json_key
assert_equal singular_key.pluralize, @serializer.json_key
end
def test_json_key_with_resource_with_name_and_no_serializers
@@ -84,13 +85,15 @@ module ActiveModel
end
def test_json_key_with_root
serializer = collection_serializer.new(@resource, root: 'custom_root')
assert_equal 'custom_roots', serializer.json_key
expected = 'custom_root'
serializer = collection_serializer.new(@resource, root: expected)
assert_equal expected, serializer.json_key
end
def test_json_key_with_root_and_no_serializers
serializer = collection_serializer.new(build_named_collection, root: 'custom_root')
assert_equal 'custom_roots', serializer.json_key
expected = 'custom_root'
serializer = collection_serializer.new(build_named_collection, root: expected)
assert_equal expected, serializer.json_key
end
end
end