Omit meta when blank

This commit is contained in:
Ben Mills
2016-03-11 10:45:39 -07:00
parent 6014b52988
commit e8286b6138
4 changed files with 102 additions and 2 deletions

View File

@@ -28,6 +28,38 @@ module ActiveModel
assert_equal(expected, actual)
end
def test_meta_is_not_included_when_blank
actual = ActiveModel::SerializableResource.new(
@blog,
adapter: :json,
serializer: AlternateBlogSerializer,
meta: {}
).as_json
expected = {
blog: {
id: 1,
title: 'AMS Hints'
}
}
assert_equal(expected, actual)
end
def test_meta_is_not_included_when_empty_string
actual = ActiveModel::SerializableResource.new(
@blog,
adapter: :json,
serializer: AlternateBlogSerializer,
meta: ''
).as_json
expected = {
blog: {
id: 1,
title: 'AMS Hints'
}
}
assert_equal(expected, actual)
end
def test_meta_is_not_included_when_root_is_missing
actual = ActiveModel::SerializableResource.new(
@blog,
@@ -78,6 +110,42 @@ module ActiveModel
assert_equal(expected, actual)
end
def test_meta_key_is_not_present_when_blank_object_with_json_api
actual = ActiveModel::SerializableResource.new(
@blog,
adapter: :json_api,
serializer: AlternateBlogSerializer,
meta: {},
meta_key: 'haha_meta'
).as_json
expected = {
data: {
id: '1',
type: 'blogs',
attributes: { title: 'AMS Hints' }
}
}
assert_equal(expected, actual)
end
def test_meta_key_is_not_present_when_empty_string_with_json_api
actual = ActiveModel::SerializableResource.new(
@blog,
adapter: :json_api,
serializer: AlternateBlogSerializer,
meta: '',
meta_key: 'haha_meta'
).as_json
expected = {
data: {
id: '1',
type: 'blogs',
attributes: { title: 'AMS Hints' }
}
}
assert_equal(expected, actual)
end
def test_meta_is_not_present_on_arrays_without_root
actual = ActiveModel::SerializableResource.new(
[@blog],