mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-25 07:16:49 +00:00
root key format
This commit is contained in:
6
test/fixtures/poro.rb
vendored
6
test/fixtures/poro.rb
vendored
@@ -35,7 +35,7 @@ end
|
||||
class Comment < Model
|
||||
end
|
||||
|
||||
class Blog < Model
|
||||
class WebLog < Model
|
||||
end
|
||||
|
||||
###
|
||||
@@ -66,10 +66,10 @@ class CommentSerializer < ActiveModel::Serializer
|
||||
attributes :content
|
||||
end
|
||||
|
||||
class BlogSerializer < ActiveModel::Serializer
|
||||
class WebLogSerializer < ActiveModel::Serializer
|
||||
attributes :name, :display_name
|
||||
end
|
||||
|
||||
class BlogLowerCamelSerializer < BlogSerializer
|
||||
class WebLogLowerCamelSerializer < WebLogSerializer
|
||||
format_keys :lower_camel
|
||||
end
|
||||
|
||||
@@ -194,6 +194,22 @@ module ActionController
|
||||
end
|
||||
end
|
||||
|
||||
class LowerCamelArraySerializerTest < ActionController::TestCase
|
||||
class WebLogController < ActionController::Base
|
||||
def render_array
|
||||
render json: [WebLog.new({name: 'Name 1', display_name: 'Display Name 1'}), WebLog.new({name: 'Name 2', display_name: 'Display Name 2'})], each_serializer: WebLogLowerCamelSerializer
|
||||
end
|
||||
end
|
||||
|
||||
tests WebLogController
|
||||
|
||||
def test_render_array
|
||||
get :render_array
|
||||
assert_equal 'application/json', @response.content_type
|
||||
assert_equal '{"webLog":[{"name":"Name 1","displayName":"Display Name 1"},{"name":"Name 2","displayName":"Display Name 2"}]}', @response.body
|
||||
end
|
||||
end
|
||||
|
||||
class ArrayEmbedingSerializerTest < ActionController::TestCase
|
||||
def setup
|
||||
super
|
||||
|
||||
@@ -4,8 +4,8 @@ module ActiveModel
|
||||
class ArraySerializer
|
||||
class KeyFormatTest < Minitest::Test
|
||||
def test_array_serializer_pass_options_to_items_serializers
|
||||
array = [Blog.new({ name: 'Name 1', display_name: 'Display Name 1'}),
|
||||
Blog.new({ name: 'Name 2', display_name: 'Display Name 2'})]
|
||||
array = [WebLog.new({ name: 'Name 1', display_name: 'Display Name 1'}),
|
||||
WebLog.new({ name: 'Name 2', display_name: 'Display Name 2'})]
|
||||
serializer = ArraySerializer.new(array, key_format: :lower_camel)
|
||||
|
||||
expected = [{ name: 'Name 1', displayName: 'Display Name 1' },
|
||||
|
||||
@@ -4,8 +4,8 @@ module ActiveModel
|
||||
class Serializer
|
||||
class KeyFormatTest < Minitest::Test
|
||||
def test_lower_camel_format_option
|
||||
object = Blog.new({ name: 'Name 1', display_name: 'Display Name 1'})
|
||||
serializer = BlogSerializer.new(object, key_format: :lower_camel)
|
||||
object = WebLog.new({ name: 'Name 1', display_name: 'Display Name 1'})
|
||||
serializer = WebLogSerializer.new(object, key_format: :lower_camel)
|
||||
|
||||
expected = { name: 'Name 1', displayName: 'Display Name 1' }
|
||||
|
||||
@@ -13,8 +13,8 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def test_lower_camel_format_serializer
|
||||
object = Blog.new({ name: 'Name 1', display_name: 'Display Name 1'})
|
||||
serializer = BlogLowerCamelSerializer.new(object)
|
||||
object = WebLog.new({ name: 'Name 1', display_name: 'Display Name 1'})
|
||||
serializer = WebLogLowerCamelSerializer.new(object)
|
||||
|
||||
expected = { name: 'Name 1', displayName: 'Display Name 1' }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user