mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-23 06:16:50 +00:00
Style/StringLiterals single quote all the things
This commit is contained in:
parent
09c97de90d
commit
bdfe13c527
@ -21,7 +21,7 @@ module ActionController
|
||||
|
||||
def get_serializer(resource, options = {})
|
||||
if ! use_adapter?
|
||||
warn "ActionController::Serialization#use_adapter? has been removed. "\
|
||||
warn 'ActionController::Serialization#use_adapter? has been removed. '\
|
||||
"Please pass 'adapter: false' or see ActiveSupport::SerializableResource#serialize"
|
||||
options[:adapter] = false
|
||||
end
|
||||
|
||||
@ -15,7 +15,7 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def self.adapter_class(adapter)
|
||||
adapter_name = adapter.to_s.classify.sub("API", "Api")
|
||||
adapter_name = adapter.to_s.classify.sub('API', 'Api')
|
||||
"ActiveModel::Serializer::Adapter::#{adapter_name}".safe_constantize
|
||||
end
|
||||
|
||||
@ -68,12 +68,12 @@ module ActiveModel
|
||||
parts = []
|
||||
parts << object_cache_key
|
||||
parts << @klass._cache_digest unless @klass._cache_options && @klass._cache_options[:skip_digest]
|
||||
parts.join("/")
|
||||
parts.join('/')
|
||||
end
|
||||
|
||||
def object_cache_key
|
||||
object_time_safe = @cached_serializer.object.updated_at
|
||||
object_time_safe = object_time_safe.strftime("%Y%m%d%H%M%S%9N") if object_time_safe.respond_to?(:strftime)
|
||||
object_time_safe = object_time_safe.strftime('%Y%m%d%H%M%S%9N') if object_time_safe.respond_to?(:strftime)
|
||||
(@klass._cache_key) ? "#{@klass._cache_key}/#{@cached_serializer.object.id}-#{object_time_safe}" : @cached_serializer.object.cache_key
|
||||
end
|
||||
|
||||
@ -82,7 +82,7 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def meta_key
|
||||
serializer.meta_key || "meta"
|
||||
serializer.meta_key || 'meta'
|
||||
end
|
||||
|
||||
def root
|
||||
|
||||
@ -23,7 +23,7 @@ module ActiveModel::Serializer::Lint
|
||||
# <tt>serializable_hash</tt> returns a hash representation of a object's attributes.
|
||||
# Typically, it is implemented by including ActiveModel::Serialization.
|
||||
def test_serializable_hash
|
||||
assert_respond_to resource, :serializable_hash, "The resource should respond to serializable_hash"
|
||||
assert_respond_to resource, :serializable_hash, 'The resource should respond to serializable_hash'
|
||||
resource.serializable_hash
|
||||
resource.serializable_hash(nil)
|
||||
end
|
||||
@ -35,7 +35,7 @@ module ActiveModel::Serializer::Lint
|
||||
# <tt>read_attribute_for_serialization</tt> gets the attribute value for serialization
|
||||
# Typically, it is implemented by including ActiveModel::Serialization.
|
||||
def test_read_attribute_for_serialization
|
||||
assert_respond_to resource, :read_attribute_for_serialization, "The resource should respond to read_attribute_for_serialization"
|
||||
assert_respond_to resource, :read_attribute_for_serialization, 'The resource should respond to read_attribute_for_serialization'
|
||||
actual_arity = resource.method(:read_attribute_for_serialization).arity
|
||||
if defined?(::Rubinius)
|
||||
# 1 for def read_attribute_for_serialization(name); end
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
module ActiveModel
|
||||
class Serializer
|
||||
VERSION = "0.10.0.rc2"
|
||||
VERSION = '0.10.0.rc2'
|
||||
end
|
||||
end
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
module Rails
|
||||
module Generators
|
||||
class SerializerGenerator < NamedBase
|
||||
source_root File.expand_path("../templates", __FILE__)
|
||||
check_class_collision :suffix => "Serializer"
|
||||
source_root File.expand_path('../templates', __FILE__)
|
||||
check_class_collision :suffix => 'Serializer'
|
||||
|
||||
argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
|
||||
argument :attributes, :type => :array, :default => [], :banner => 'field:type field:type'
|
||||
|
||||
class_option :parent, :type => :string, :desc => "The parent class for the generated serializer"
|
||||
class_option :parent, :type => :string, :desc => 'The parent class for the generated serializer'
|
||||
|
||||
def create_serializer_file
|
||||
template 'serializer.rb.erb', File.join('app/serializers', class_path, "#{file_name}_serializer.rb")
|
||||
@ -26,9 +26,9 @@ module Rails
|
||||
if options[:parent]
|
||||
options[:parent]
|
||||
elsif defined?(::ApplicationSerializer)
|
||||
"ApplicationSerializer"
|
||||
'ApplicationSerializer'
|
||||
else
|
||||
"ActiveModel::Serializer"
|
||||
'ActiveModel::Serializer'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -33,10 +33,10 @@ module ActionController
|
||||
expected = {
|
||||
data: {
|
||||
id: assigns(:profile).id.to_s,
|
||||
type: "profiles",
|
||||
type: 'profiles',
|
||||
attributes: {
|
||||
name: "Name 1",
|
||||
description: "Description 1",
|
||||
name: 'Name 1',
|
||||
description: 'Description 1',
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -100,11 +100,11 @@ module ActionController
|
||||
get :render_array_using_explicit_serializer_and_custom_serializers
|
||||
|
||||
expected = [
|
||||
{ "title" => "New Post",
|
||||
"body" => "Body",
|
||||
"id" => assigns(:post).id,
|
||||
"comments" => [{"id" => 1}, {"id" => 2}],
|
||||
"author" => { "id" => assigns(:author).id }
|
||||
{ 'title' => 'New Post',
|
||||
'body' => 'Body',
|
||||
'id' => assigns(:post).id,
|
||||
'comments' => [{'id' => 1}, {'id' => 2}],
|
||||
'author' => { 'id' => assigns(:author).id }
|
||||
}
|
||||
]
|
||||
|
||||
@ -116,13 +116,13 @@ module ActionController
|
||||
|
||||
expected = {
|
||||
id: 1337,
|
||||
name: "Amazing Place",
|
||||
name: 'Amazing Place',
|
||||
locations: [
|
||||
{
|
||||
id: 42,
|
||||
lat: "-23.550520",
|
||||
lng: "-46.633309",
|
||||
place: "Nowhere" # is a virtual attribute on LocationSerializer
|
||||
lat: '-23.550520',
|
||||
lng: '-46.633309',
|
||||
place: 'Nowhere' # is a virtual attribute on LocationSerializer
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -28,10 +28,10 @@ module ActionController
|
||||
@first_comment.author = @author2
|
||||
@second_comment.post = @post
|
||||
@second_comment.author = nil
|
||||
@post2 = Post.new(id: 2, title: "Another Post", body: "Body")
|
||||
@post2 = Post.new(id: 2, title: 'Another Post', body: 'Body')
|
||||
@post2.author = @author
|
||||
@post2.comments = []
|
||||
@blog = Blog.new(id: 1, name: "My Blog!!")
|
||||
@blog = Blog.new(id: 1, name: 'My Blog!!')
|
||||
@post.blog = @blog
|
||||
@post2.blog = @blog
|
||||
end
|
||||
@ -100,37 +100,37 @@ module ActionController
|
||||
response = JSON.parse(@response.body)
|
||||
expected_linked = [
|
||||
{
|
||||
"id" => "1",
|
||||
"type" => "authors",
|
||||
"attributes" => {
|
||||
"name" => "Steve K."
|
||||
'id' => '1',
|
||||
'type' => 'authors',
|
||||
'attributes' => {
|
||||
'name' => 'Steve K.'
|
||||
},
|
||||
"relationships" => {
|
||||
"posts" => { "data" => [] },
|
||||
"roles" => { "data" => [{ "type" =>"roles", "id" => "1" }, { "type" =>"roles", "id" => "2" }] },
|
||||
"bio" => { "data" => nil }
|
||||
'relationships' => {
|
||||
'posts' => { 'data' => [] },
|
||||
'roles' => { 'data' => [{ 'type' =>'roles', 'id' => '1' }, { 'type' =>'roles', 'id' => '2' }] },
|
||||
'bio' => { 'data' => nil }
|
||||
}
|
||||
}, {
|
||||
"id" => "1",
|
||||
"type" => "roles",
|
||||
"attributes" => {
|
||||
"name" => "admin",
|
||||
"description" => nil,
|
||||
"slug" => "admin-1"
|
||||
'id' => '1',
|
||||
'type' => 'roles',
|
||||
'attributes' => {
|
||||
'name' => 'admin',
|
||||
'description' => nil,
|
||||
'slug' => 'admin-1'
|
||||
},
|
||||
"relationships" => {
|
||||
"author" => { "data" => { "type" =>"authors", "id" => "1" } }
|
||||
'relationships' => {
|
||||
'author' => { 'data' => { 'type' =>'authors', 'id' => '1' } }
|
||||
}
|
||||
}, {
|
||||
"id" => "2",
|
||||
"type" => "roles",
|
||||
"attributes" => {
|
||||
"name" => "colab",
|
||||
"description" => nil,
|
||||
"slug" => "colab-2"
|
||||
'id' => '2',
|
||||
'type' => 'roles',
|
||||
'attributes' => {
|
||||
'name' => 'colab',
|
||||
'description' => nil,
|
||||
'slug' => 'colab-2'
|
||||
},
|
||||
"relationships" => {
|
||||
"author" => { "data" => { "type" =>"authors", "id" => "1" } }
|
||||
'relationships' => {
|
||||
'author' => { 'data' => { 'type' =>'authors', 'id' => '1' } }
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@ -47,11 +47,11 @@ module ActionController
|
||||
tests PaginationTestController
|
||||
|
||||
def test_render_pagination_links_with_will_paginate
|
||||
expected_links = { "self"=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=1",
|
||||
"first"=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=1",
|
||||
"prev"=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=1",
|
||||
"next"=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=3&page%5Bsize%5D=1",
|
||||
"last"=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=3&page%5Bsize%5D=1"}
|
||||
expected_links = { 'self'=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=1",
|
||||
'first'=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=1",
|
||||
'prev'=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=1",
|
||||
'next'=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=3&page%5Bsize%5D=1",
|
||||
'last'=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=3&page%5Bsize%5D=1"}
|
||||
|
||||
get :render_pagination_using_will_paginate, page: { number: 2, size: 1 }
|
||||
response = JSON.parse(@response.body)
|
||||
@ -59,48 +59,48 @@ module ActionController
|
||||
end
|
||||
|
||||
def test_render_only_last_and_next_pagination_links
|
||||
expected_links = { "self"=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=2",
|
||||
"next"=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=2",
|
||||
"last"=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=2"}
|
||||
expected_links = { 'self'=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=2",
|
||||
'next'=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=2",
|
||||
'last'=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=2"}
|
||||
get :render_pagination_using_will_paginate, page: { number: 1, size: 2 }
|
||||
response = JSON.parse(@response.body)
|
||||
assert_equal expected_links, response['links']
|
||||
end
|
||||
|
||||
def test_render_pagination_links_with_kaminari
|
||||
expected_links = { "self"=>"#{KAMINARI_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=1",
|
||||
"first"=>"#{KAMINARI_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=1",
|
||||
"prev"=>"#{KAMINARI_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=1",
|
||||
"next"=>"#{KAMINARI_URI}?page%5Bnumber%5D=3&page%5Bsize%5D=1",
|
||||
"last"=>"#{KAMINARI_URI}?page%5Bnumber%5D=3&page%5Bsize%5D=1"}
|
||||
expected_links = { 'self'=>"#{KAMINARI_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=1",
|
||||
'first'=>"#{KAMINARI_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=1",
|
||||
'prev'=>"#{KAMINARI_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=1",
|
||||
'next'=>"#{KAMINARI_URI}?page%5Bnumber%5D=3&page%5Bsize%5D=1",
|
||||
'last'=>"#{KAMINARI_URI}?page%5Bnumber%5D=3&page%5Bsize%5D=1"}
|
||||
get :render_pagination_using_kaminari, page: { number: 2, size: 1 }
|
||||
response = JSON.parse(@response.body)
|
||||
assert_equal expected_links, response['links']
|
||||
end
|
||||
|
||||
def test_render_only_prev_and_first_pagination_links
|
||||
expected_links = { "self"=>"#{KAMINARI_URI}?page%5Bnumber%5D=3&page%5Bsize%5D=1",
|
||||
"first"=>"#{KAMINARI_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=1",
|
||||
"prev"=>"#{KAMINARI_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=1"}
|
||||
expected_links = { 'self'=>"#{KAMINARI_URI}?page%5Bnumber%5D=3&page%5Bsize%5D=1",
|
||||
'first'=>"#{KAMINARI_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=1",
|
||||
'prev'=>"#{KAMINARI_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=1"}
|
||||
get :render_pagination_using_kaminari, page: { number: 3, size: 1 }
|
||||
response = JSON.parse(@response.body)
|
||||
assert_equal expected_links, response['links']
|
||||
end
|
||||
|
||||
def test_render_only_last_and_next_pagination_links_with_additional_params
|
||||
expected_links = { "self"=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=2&teste=additional",
|
||||
"next"=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=2&teste=additional",
|
||||
"last"=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=2&teste=additional"}
|
||||
get :render_pagination_using_will_paginate, page: { number: 1, size: 2 }, teste: "additional"
|
||||
expected_links = { 'self'=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=2&teste=additional",
|
||||
'next'=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=2&teste=additional",
|
||||
'last'=>"#{WILL_PAGINATE_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=2&teste=additional"}
|
||||
get :render_pagination_using_will_paginate, page: { number: 1, size: 2 }, teste: 'additional'
|
||||
response = JSON.parse(@response.body)
|
||||
assert_equal expected_links, response['links']
|
||||
end
|
||||
|
||||
def test_render_only_prev_and_first_pagination_links_with_additional_params
|
||||
expected_links = { "self"=>"#{KAMINARI_URI}?page%5Bnumber%5D=3&page%5Bsize%5D=1&teste=additional",
|
||||
"first"=>"#{KAMINARI_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=1&teste=additional",
|
||||
"prev"=>"#{KAMINARI_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=1&teste=additional"}
|
||||
get :render_pagination_using_kaminari, page: { number: 3, size: 1 }, teste: "additional"
|
||||
expected_links = { 'self'=>"#{KAMINARI_URI}?page%5Bnumber%5D=3&page%5Bsize%5D=1&teste=additional",
|
||||
'first'=>"#{KAMINARI_URI}?page%5Bnumber%5D=1&page%5Bsize%5D=1&teste=additional",
|
||||
'prev'=>"#{KAMINARI_URI}?page%5Bnumber%5D=2&page%5Bsize%5D=1&teste=additional"}
|
||||
get :render_pagination_using_kaminari, page: { number: 3, size: 1 }, teste: 'additional'
|
||||
response = JSON.parse(@response.body)
|
||||
assert_equal expected_links, response['links']
|
||||
end
|
||||
|
||||
@ -21,20 +21,20 @@ module ActionController
|
||||
def render_array_using_custom_root
|
||||
with_adapter ActiveModel::Serializer::Adapter::Json do
|
||||
@profile = Profile.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' })
|
||||
render json: [@profile], root: "custom_root"
|
||||
render json: [@profile], root: 'custom_root'
|
||||
end
|
||||
end
|
||||
|
||||
def render_array_that_is_empty_using_custom_root
|
||||
with_adapter ActiveModel::Serializer::Adapter::Json do
|
||||
render json: [], root: "custom_root"
|
||||
render json: [], root: 'custom_root'
|
||||
end
|
||||
end
|
||||
|
||||
def render_object_using_custom_root
|
||||
with_adapter ActiveModel::Serializer::Adapter::Json do
|
||||
@profile = Profile.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' })
|
||||
render json: @profile, root: "custom_root"
|
||||
render json: @profile, root: 'custom_root'
|
||||
end
|
||||
end
|
||||
|
||||
@ -159,8 +159,8 @@ module ActionController
|
||||
get :render_using_implicit_serializer
|
||||
|
||||
expected = {
|
||||
name: "Name 1",
|
||||
description: "Description 1"
|
||||
name: 'Name 1',
|
||||
description: 'Description 1'
|
||||
}
|
||||
|
||||
assert_equal 'application/json', @response.content_type
|
||||
@ -173,10 +173,10 @@ module ActionController
|
||||
expected = {
|
||||
data: {
|
||||
id: assigns(:profile).id.to_s,
|
||||
type: "profiles",
|
||||
type: 'profiles',
|
||||
attributes: {
|
||||
name: "Name 1",
|
||||
description: "Description 1"
|
||||
name: 'Name 1',
|
||||
description: 'Description 1'
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -188,7 +188,7 @@ module ActionController
|
||||
def test_render_array_using_custom_root
|
||||
get :render_array_using_custom_root
|
||||
|
||||
expected = {custom_roots: [{name: "Name 1", description: "Description 1"}]}
|
||||
expected = {custom_roots: [{name: 'Name 1', description: 'Description 1'}]}
|
||||
assert_equal 'application/json', @response.content_type
|
||||
assert_equal expected.to_json, @response.body
|
||||
end
|
||||
@ -250,10 +250,10 @@ module ActionController
|
||||
data: [
|
||||
{
|
||||
id: assigns(:profiles).first.id.to_s,
|
||||
type: "profiles",
|
||||
type: 'profiles',
|
||||
attributes: {
|
||||
name: "Name 1",
|
||||
description: "Description 1"
|
||||
name: 'Name 1',
|
||||
description: 'Description 1'
|
||||
}
|
||||
}
|
||||
],
|
||||
@ -335,8 +335,8 @@ module ActionController
|
||||
response = JSON.parse(@response.body)
|
||||
|
||||
assert_equal 'application/json', @response.content_type
|
||||
assert_equal 'ZOMG A ROLE', response["name"]
|
||||
assert_equal 'HUEHUEBRBR', response["description"]
|
||||
assert_equal 'ZOMG A ROLE', response['name']
|
||||
assert_equal 'HUEHUEBRBR', response['description']
|
||||
end
|
||||
|
||||
def test_render_with_fragment_except_cache_enable
|
||||
@ -345,8 +345,8 @@ module ActionController
|
||||
response = JSON.parse(@response.body)
|
||||
|
||||
assert_equal 'application/json', @response.content_type
|
||||
assert_equal 5, response["rating"]
|
||||
assert_equal 'lol', response["content"]
|
||||
assert_equal 5, response['rating']
|
||||
assert_equal 'lol', response['content']
|
||||
end
|
||||
|
||||
def test_render_fragment_changed_object_with_relationship
|
||||
@ -357,11 +357,11 @@ module ActionController
|
||||
response = JSON.parse(@response.body)
|
||||
|
||||
expected_return = {
|
||||
"id"=>1,
|
||||
"time"=>Time.now.to_s,
|
||||
"likeable" => {
|
||||
"id"=>1,
|
||||
"body"=>"ZOMG A COMMENT"
|
||||
'id'=>1,
|
||||
'time'=>Time.now.to_s,
|
||||
'likeable' => {
|
||||
'id'=>1,
|
||||
'body'=>'ZOMG A COMMENT'
|
||||
}
|
||||
}
|
||||
|
||||
@ -385,7 +385,7 @@ module ActionController
|
||||
],
|
||||
blog: {
|
||||
id:999,
|
||||
name: "Custom blog"
|
||||
name: 'Custom blog'
|
||||
},
|
||||
author: {
|
||||
id: 1,
|
||||
@ -416,7 +416,7 @@ module ActionController
|
||||
true
|
||||
end
|
||||
}.new
|
||||
assert_equal "", (capture(:stderr) {
|
||||
assert_equal '', (capture(:stderr) {
|
||||
controller.get_serializer(Profile.new)
|
||||
})
|
||||
end
|
||||
|
||||
@ -4,7 +4,7 @@ module ActiveModel
|
||||
class Adapter
|
||||
class FragmentCacheTest < Minitest::Test
|
||||
def setup
|
||||
@spam = Spam::UnrelatedLink.new(id: "spam-id-1")
|
||||
@spam = Spam::UnrelatedLink.new(id: 'spam-id-1')
|
||||
@author = Author.new(name: 'Joao M. D. Moura')
|
||||
@role = Role.new(name: 'Great Author', description:nil)
|
||||
@role.author = [@author]
|
||||
|
||||
@ -14,7 +14,7 @@ module ActiveModel
|
||||
@comment.post = @post
|
||||
@comment.author = nil
|
||||
@anonymous_post.author = nil
|
||||
@blog = Blog.new(id: 1, name: "My Blog!!")
|
||||
@blog = Blog.new(id: 1, name: 'My Blog!!')
|
||||
@post.blog = @blog
|
||||
@anonymous_post.blog = nil
|
||||
|
||||
@ -31,14 +31,14 @@ module ActiveModel
|
||||
serializer = PostSerializer.new(@anonymous_post)
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(serializer)
|
||||
|
||||
assert_equal({post: {title: "Hello!!", body: "Hello, world!!", id: 43, comments: [], blog: {id: 999, name: "Custom blog"}, author: nil}}, adapter.serializable_hash)
|
||||
assert_equal({post: {title: 'Hello!!', body: 'Hello, world!!', id: 43, comments: [], blog: {id: 999, name: 'Custom blog'}, author: nil}}, adapter.serializable_hash)
|
||||
end
|
||||
|
||||
def test_include_nil_author_with_specified_serializer
|
||||
serializer = PostPreviewSerializer.new(@anonymous_post)
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(serializer)
|
||||
|
||||
assert_equal({post: {title: "Hello!!", body: "Hello, world!!", id: 43, comments: [], author: nil}}, adapter.serializable_hash)
|
||||
assert_equal({post: {title: 'Hello!!', body: 'Hello, world!!', id: 43, comments: [], author: nil}}, adapter.serializable_hash)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -13,7 +13,7 @@ module ActiveModel
|
||||
@second_post.comments = []
|
||||
@first_post.author = @author
|
||||
@second_post.author = @author
|
||||
@blog = Blog.new(id: 1, name: "My Blog!!")
|
||||
@blog = Blog.new(id: 1, name: 'My Blog!!')
|
||||
@first_post.blog = @blog
|
||||
@second_post.blog = nil
|
||||
|
||||
@ -21,15 +21,15 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def test_with_serializer_option
|
||||
@blog.special_attribute = "Special"
|
||||
@blog.special_attribute = 'Special'
|
||||
@blog.articles = [@first_post, @second_post]
|
||||
serializer = ArraySerializer.new([@blog], serializer: CustomBlogSerializer)
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(serializer)
|
||||
|
||||
expected = {blogs:[{
|
||||
id: 1,
|
||||
special_attribute: "Special",
|
||||
articles: [{id: 1,title: "Hello!!", body: "Hello, world!!"}, {id: 2, title: "New Post", body: "Body"}]
|
||||
special_attribute: 'Special',
|
||||
articles: [{id: 1,title: 'Hello!!', body: 'Hello, world!!'}, {id: 2, title: 'New Post', body: 'Body'}]
|
||||
}]}
|
||||
assert_equal expected, adapter.serializable_hash
|
||||
end
|
||||
@ -39,30 +39,30 @@ module ActiveModel
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(serializer)
|
||||
|
||||
expected = { posts: [{
|
||||
title: "Hello!!",
|
||||
body: "Hello, world!!",
|
||||
title: 'Hello!!',
|
||||
body: 'Hello, world!!',
|
||||
id: 1,
|
||||
comments: [],
|
||||
author: {
|
||||
id: 1,
|
||||
name: "Steve K."
|
||||
name: 'Steve K.'
|
||||
},
|
||||
blog: {
|
||||
id: 999,
|
||||
name: "Custom blog"
|
||||
name: 'Custom blog'
|
||||
}
|
||||
}, {
|
||||
title: "New Post",
|
||||
body: "Body",
|
||||
title: 'New Post',
|
||||
body: 'Body',
|
||||
id: 2,
|
||||
comments: [],
|
||||
author: {
|
||||
id: 1,
|
||||
name: "Steve K."
|
||||
name: 'Steve K.'
|
||||
},
|
||||
blog: {
|
||||
id: 999,
|
||||
name: "Custom blog"
|
||||
name: 'Custom blog'
|
||||
}
|
||||
}]}
|
||||
assert_equal expected, adapter.serializable_hash
|
||||
|
||||
@ -15,9 +15,9 @@ module ActiveModel
|
||||
@post.author = @author
|
||||
@first_comment.post = @post
|
||||
@second_comment.post = @post
|
||||
@blog = Blog.new(id: 1, name: "My Blog!!")
|
||||
@blog = Blog.new(id: 1, name: 'My Blog!!')
|
||||
@post.blog = @blog
|
||||
@tag = Tag.new(id: 1, name: "#hash_tag")
|
||||
@tag = Tag.new(id: 1, name: '#hash_tag')
|
||||
@post.tags = [@tag]
|
||||
end
|
||||
|
||||
@ -36,7 +36,7 @@ module ActiveModel
|
||||
assert_equal({
|
||||
id: 42,
|
||||
tags: [
|
||||
{"attributes"=>{"id"=>1, "name"=>"#hash_tag"}}
|
||||
{'attributes'=>{'id'=>1, 'name'=>'#hash_tag'}}
|
||||
]
|
||||
}.to_json, adapter.serializable_hash[:post].to_json)
|
||||
end
|
||||
|
||||
@ -21,7 +21,7 @@ module ActiveModel
|
||||
@comment.author = nil
|
||||
@post.author = @author
|
||||
@anonymous_post.author = nil
|
||||
@blog = Blog.new(id: 1, name: "My Blog!!")
|
||||
@blog = Blog.new(id: 1, name: 'My Blog!!')
|
||||
@blog.writer = @author
|
||||
@blog.articles = [@post, @anonymous_post]
|
||||
@author.posts = []
|
||||
@ -32,7 +32,7 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def test_includes_post_id
|
||||
expected = { data: { type: "posts", id: "42" } }
|
||||
expected = { data: { type: 'posts', id: '42' } }
|
||||
|
||||
assert_equal(expected, @adapter.serializable_hash[:data][:relationships][:post])
|
||||
end
|
||||
@ -40,16 +40,16 @@ module ActiveModel
|
||||
def test_includes_linked_post
|
||||
@adapter = ActiveModel::Serializer::Adapter::JsonApi.new(@serializer, include: 'post')
|
||||
expected = [{
|
||||
id: "42",
|
||||
type: "posts",
|
||||
id: '42',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: 'New Post',
|
||||
body: 'Body',
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [ { type: "comments", id: "1" } ] },
|
||||
blog: { data: { type: "blogs", id: "999" } },
|
||||
author: { data: { type: "authors", id: "1" } }
|
||||
comments: { data: [ { type: 'comments', id: '1' } ] },
|
||||
blog: { data: { type: 'blogs', id: '999' } },
|
||||
author: { data: { type: 'authors', id: '1' } }
|
||||
}
|
||||
}]
|
||||
assert_equal expected, @adapter.serializable_hash[:included]
|
||||
@ -58,15 +58,15 @@ module ActiveModel
|
||||
def test_limiting_linked_post_fields
|
||||
@adapter = ActiveModel::Serializer::Adapter::JsonApi.new(@serializer, include: 'post', fields: {post: [:title]})
|
||||
expected = [{
|
||||
id: "42",
|
||||
type: "posts",
|
||||
id: '42',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: 'New Post'
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [ { type: "comments", id: "1" } ] },
|
||||
blog: { data: { type: "blogs", id: "999" } },
|
||||
author: { data: { type: "authors", id: "1" } }
|
||||
comments: { data: [ { type: 'comments', id: '1' } ] },
|
||||
blog: { data: { type: 'blogs', id: '999' } },
|
||||
author: { data: { type: 'authors', id: '1' } }
|
||||
}
|
||||
}]
|
||||
assert_equal expected, @adapter.serializable_hash[:included]
|
||||
@ -76,7 +76,7 @@ module ActiveModel
|
||||
serializer = PostSerializer.new(@anonymous_post)
|
||||
adapter = ActiveModel::Serializer::Adapter::JsonApi.new(serializer)
|
||||
|
||||
assert_equal({comments: { data: [] }, blog: { data: { type: "blogs", id: "999" } }, author: { data: nil }}, adapter.serializable_hash[:data][:relationships])
|
||||
assert_equal({comments: { data: [] }, blog: { data: { type: 'blogs', id: '999' } }, author: { data: nil }}, adapter.serializable_hash[:data][:relationships])
|
||||
end
|
||||
|
||||
def test_include_type_for_association_when_different_than_name
|
||||
@ -86,19 +86,19 @@ module ActiveModel
|
||||
expected = {
|
||||
writer: {
|
||||
data: {
|
||||
type: "authors",
|
||||
id: "1"
|
||||
type: 'authors',
|
||||
id: '1'
|
||||
}
|
||||
},
|
||||
articles: {
|
||||
data: [
|
||||
{
|
||||
type: "posts",
|
||||
id: "42"
|
||||
type: 'posts',
|
||||
id: '42'
|
||||
},
|
||||
{
|
||||
type: "posts",
|
||||
id: "43"
|
||||
type: 'posts',
|
||||
id: '43'
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -112,10 +112,10 @@ module ActiveModel
|
||||
linked = adapter.serializable_hash[:included]
|
||||
expected = [
|
||||
{
|
||||
id: "1",
|
||||
type: "authors",
|
||||
id: '1',
|
||||
type: 'authors',
|
||||
attributes: {
|
||||
name: "Steve K."
|
||||
name: 'Steve K.'
|
||||
},
|
||||
relationships: {
|
||||
posts: { data: [] },
|
||||
@ -123,27 +123,27 @@ module ActiveModel
|
||||
bio: { data: nil }
|
||||
}
|
||||
},{
|
||||
id: "42",
|
||||
type: "posts",
|
||||
id: '42',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: "New Post",
|
||||
body: "Body"
|
||||
title: 'New Post',
|
||||
body: 'Body'
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [ { type: "comments", id: "1" } ] },
|
||||
blog: { data: { type: "blogs", id: "999" } },
|
||||
author: { data: { type: "authors", id: "1" } }
|
||||
comments: { data: [ { type: 'comments', id: '1' } ] },
|
||||
blog: { data: { type: 'blogs', id: '999' } },
|
||||
author: { data: { type: 'authors', id: '1' } }
|
||||
}
|
||||
}, {
|
||||
id: "43",
|
||||
type: "posts",
|
||||
id: '43',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: "Hello!!",
|
||||
body: "Hello, world!!"
|
||||
title: 'Hello!!',
|
||||
body: 'Hello, world!!'
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [] },
|
||||
blog: { data: { type: "blogs", id: "999" } },
|
||||
blog: { data: { type: 'blogs', id: '999' } },
|
||||
author: { data: nil }
|
||||
}
|
||||
}
|
||||
|
||||
@ -27,29 +27,29 @@ module ActiveModel
|
||||
def test_include_multiple_posts
|
||||
expected = [
|
||||
{
|
||||
id: "1",
|
||||
type: "posts",
|
||||
id: '1',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: "Hello!!",
|
||||
body: "Hello, world!!"
|
||||
title: 'Hello!!',
|
||||
body: 'Hello, world!!'
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [] },
|
||||
blog: { data: { type: "blogs", id: "999" } },
|
||||
author: { data: { type: "authors", id: "1" } }
|
||||
blog: { data: { type: 'blogs', id: '999' } },
|
||||
author: { data: { type: 'authors', id: '1' } }
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
type: "posts",
|
||||
id: '2',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: "New Post",
|
||||
body: "Body"
|
||||
title: 'New Post',
|
||||
body: 'Body'
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [] },
|
||||
blog: { data: { type: "blogs", id: "999" } },
|
||||
author: { data: { type: "authors", id: "1" } }
|
||||
blog: { data: { type: 'blogs', id: '999' } },
|
||||
author: { data: { type: 'authors', id: '1' } }
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -62,27 +62,27 @@ module ActiveModel
|
||||
|
||||
expected = [
|
||||
{
|
||||
id: "1",
|
||||
type: "posts",
|
||||
id: '1',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: "Hello!!"
|
||||
title: 'Hello!!'
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [] },
|
||||
blog: { data: { type: "blogs", id: "999" } },
|
||||
author: { data: { type: "authors", id: "1" } }
|
||||
blog: { data: { type: 'blogs', id: '999' } },
|
||||
author: { data: { type: 'authors', id: '1' } }
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
type: "posts",
|
||||
id: '2',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: "New Post"
|
||||
title: 'New Post'
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [] },
|
||||
blog: { data: { type: "blogs", id: "999" } },
|
||||
author: { data: { type: "authors", id: "1" } }
|
||||
blog: { data: { type: 'blogs', id: '999' } },
|
||||
author: { data: { type: 'authors', id: '1' } }
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@ -27,8 +27,8 @@ module ActiveModel
|
||||
def test_includes_comment_ids
|
||||
expected = {
|
||||
data: [
|
||||
{ type: "posts", id: "1"},
|
||||
{ type: "posts", id: "2"}
|
||||
{ type: 'posts', id: '1'},
|
||||
{ type: 'posts', id: '2'}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@ -58,9 +58,9 @@ module ActiveModel
|
||||
},
|
||||
{
|
||||
id: @author.id.to_s,
|
||||
type: "authors",
|
||||
type: 'authors',
|
||||
relationships: {
|
||||
posts: { data: [ {type: "posts", id: @post.id.to_s } ] }
|
||||
posts: { data: [ {type: 'posts', id: @post.id.to_s } ] }
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -70,7 +70,7 @@ module ActiveModel
|
||||
|
||||
def test_includes_author_id
|
||||
expected = {
|
||||
data: { type: "authors", id: @author.id.to_s }
|
||||
data: { type: 'authors', id: @author.id.to_s }
|
||||
}
|
||||
|
||||
assert_equal(expected, @adapter.serializable_hash[:data][:relationships][:author])
|
||||
|
||||
@ -22,12 +22,12 @@ module ActiveModel
|
||||
@second_comment.post = @post
|
||||
@post.author = @author
|
||||
@post_without_comments.author = nil
|
||||
@blog = Blog.new(id: 1, name: "My Blog!!")
|
||||
@blog = Blog.new(id: 1, name: 'My Blog!!')
|
||||
@blog.writer = @author
|
||||
@blog.articles = [@post]
|
||||
@post.blog = @blog
|
||||
@post_without_comments.blog = nil
|
||||
@tag = Tag.new(id: 1, name: "#hash_tag")
|
||||
@tag = Tag.new(id: 1, name: '#hash_tag')
|
||||
@post.tags = [@tag]
|
||||
@serializer = PostSerializer.new(@post)
|
||||
@adapter = ActiveModel::Serializer::Adapter::JsonApi.new(@serializer)
|
||||
@ -36,7 +36,7 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def test_includes_comment_ids
|
||||
expected = { data: [ { type: "comments", id: "1" }, { type: "comments", id: "2" } ] }
|
||||
expected = { data: [ { type: 'comments', id: '1' }, { type: 'comments', id: '2' } ] }
|
||||
|
||||
assert_equal(expected, @adapter.serializable_hash[:data][:relationships][:comments])
|
||||
end
|
||||
@ -44,23 +44,23 @@ module ActiveModel
|
||||
def test_includes_linked_comments
|
||||
@adapter = ActiveModel::Serializer::Adapter::JsonApi.new(@serializer, include: 'comments')
|
||||
expected = [{
|
||||
id: "1",
|
||||
type: "comments",
|
||||
id: '1',
|
||||
type: 'comments',
|
||||
attributes: {
|
||||
body: 'ZOMG A COMMENT'
|
||||
},
|
||||
relationships: {
|
||||
post: { data: { type: "posts", id: "1" } },
|
||||
post: { data: { type: 'posts', id: '1' } },
|
||||
author: { data: nil }
|
||||
}
|
||||
}, {
|
||||
id: "2",
|
||||
type: "comments",
|
||||
id: '2',
|
||||
type: 'comments',
|
||||
attributes: {
|
||||
body: 'ZOMG ANOTHER COMMENT'
|
||||
},
|
||||
relationships: {
|
||||
post: { data: { type: "posts", id: "1" } },
|
||||
post: { data: { type: 'posts', id: '1' } },
|
||||
author: { data: nil }
|
||||
}
|
||||
}]
|
||||
@ -70,17 +70,17 @@ module ActiveModel
|
||||
def test_limit_fields_of_linked_comments
|
||||
@adapter = ActiveModel::Serializer::Adapter::JsonApi.new(@serializer, include: 'comments', fields: {comment: [:id]})
|
||||
expected = [{
|
||||
id: "1",
|
||||
type: "comments",
|
||||
id: '1',
|
||||
type: 'comments',
|
||||
relationships: {
|
||||
post: { data: { type: "posts", id: "1" } },
|
||||
post: { data: { type: 'posts', id: '1' } },
|
||||
author: { data: nil }
|
||||
}
|
||||
}, {
|
||||
id: "2",
|
||||
type: "comments",
|
||||
id: '2',
|
||||
type: 'comments',
|
||||
relationships: {
|
||||
post: { data: { type: "posts", id: "1" } },
|
||||
post: { data: { type: 'posts', id: '1' } },
|
||||
author: { data: nil }
|
||||
}
|
||||
}]
|
||||
@ -101,8 +101,8 @@ module ActiveModel
|
||||
|
||||
expected = {
|
||||
data: [{
|
||||
type: "posts",
|
||||
id: "1"
|
||||
type: 'posts',
|
||||
id: '1'
|
||||
}]
|
||||
}
|
||||
assert_equal expected, actual
|
||||
@ -114,8 +114,8 @@ module ActiveModel
|
||||
|
||||
assert_equal({
|
||||
data: {
|
||||
id: "1",
|
||||
type: "posts",
|
||||
id: '1',
|
||||
type: 'posts',
|
||||
relationships: {
|
||||
tags: { data: [@tag.as_json]}
|
||||
}
|
||||
@ -129,8 +129,8 @@ module ActiveModel
|
||||
|
||||
assert_equal({
|
||||
data: {
|
||||
id: "1",
|
||||
type: "virtual_values",
|
||||
id: '1',
|
||||
type: 'virtual_values',
|
||||
relationships: {
|
||||
maker: {data: {id: 1}},
|
||||
reviews: {data: [{id: 1}, {id: 2}]}
|
||||
|
||||
@ -19,7 +19,7 @@ module ActiveModel
|
||||
@comment.author = nil
|
||||
@post.author = @author
|
||||
@anonymous_post.author = nil
|
||||
@blog = Blog.new(id: 1, name: "My Blog!!")
|
||||
@blog = Blog.new(id: 1, name: 'My Blog!!')
|
||||
@blog.writer = @author
|
||||
@blog.articles = [@post, @anonymous_post]
|
||||
@author.posts = []
|
||||
@ -32,7 +32,7 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def test_includes_bio_id
|
||||
expected = { data: { type: "bios", id: "43" } }
|
||||
expected = { data: { type: 'bios', id: '43' } }
|
||||
|
||||
assert_equal(expected, @adapter.serializable_hash[:data][:relationships][:bio])
|
||||
end
|
||||
@ -42,14 +42,14 @@ module ActiveModel
|
||||
|
||||
expected = [
|
||||
{
|
||||
id: "43",
|
||||
type: "bios",
|
||||
id: '43',
|
||||
type: 'bios',
|
||||
attributes: {
|
||||
content:"AMS Contributor",
|
||||
content:'AMS Contributor',
|
||||
rating: nil
|
||||
},
|
||||
relationships: {
|
||||
author: { data: { type: "authors", id: "1" } }
|
||||
author: { data: { type: 'authors', id: '1' } }
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -63,8 +63,8 @@ module ActiveModel
|
||||
|
||||
expected = {
|
||||
data: {
|
||||
id: "1",
|
||||
type: "virtual_values",
|
||||
id: '1',
|
||||
type: 'virtual_values',
|
||||
relationships: {
|
||||
maker: {data: {id: 1}},
|
||||
reviews: {data: [{id: 1}, {id: 2}]}
|
||||
|
||||
@ -14,7 +14,7 @@ module ActiveModel
|
||||
@first_comment.post = @post
|
||||
@second_comment.post = @post
|
||||
@post.author = @author
|
||||
@blog = Blog.new(id: 1, name: "My Blog!!")
|
||||
@blog = Blog.new(id: 1, name: 'My Blog!!')
|
||||
@post.blog = @blog
|
||||
|
||||
end
|
||||
@ -25,11 +25,11 @@ module ActiveModel
|
||||
|
||||
assert_equal({
|
||||
reviews: { data: [
|
||||
{type: "comments", id: "1"},
|
||||
{type: "comments", id: "2"}
|
||||
{type: 'comments', id: '1'},
|
||||
{type: 'comments', id: '2'}
|
||||
]},
|
||||
writer: { data: {type: "authors", id: "1"} },
|
||||
site: { data: {type: "blogs", id: "1" } }
|
||||
writer: { data: {type: 'authors', id: '1'} },
|
||||
site: { data: {type: 'blogs', id: '1' } }
|
||||
}, adapter.serializable_hash[:data][:relationships])
|
||||
end
|
||||
end
|
||||
|
||||
@ -53,94 +53,94 @@ module ActiveModel
|
||||
expected = {
|
||||
data: [
|
||||
{
|
||||
id: "10",
|
||||
type: "posts",
|
||||
id: '10',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: "Hello!!",
|
||||
body: "Hello, world!!"
|
||||
title: 'Hello!!',
|
||||
body: 'Hello, world!!'
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [ { type: "comments", id: '1' }, { type: "comments", id: '2' } ] },
|
||||
blog: { data: { type: "blogs", id: "999" } },
|
||||
author: { data: { type: "authors", id: "1" } }
|
||||
comments: { data: [ { type: 'comments', id: '1' }, { type: 'comments', id: '2' } ] },
|
||||
blog: { data: { type: 'blogs', id: '999' } },
|
||||
author: { data: { type: 'authors', id: '1' } }
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "20",
|
||||
type: "posts",
|
||||
id: '20',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: "New Post",
|
||||
body: "Body"
|
||||
title: 'New Post',
|
||||
body: 'Body'
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [] },
|
||||
blog: { data: { type: "blogs", id: "999" } },
|
||||
author: { data: { type: "authors", id: "2" } }
|
||||
blog: { data: { type: 'blogs', id: '999' } },
|
||||
author: { data: { type: 'authors', id: '2' } }
|
||||
}
|
||||
}
|
||||
],
|
||||
included: [
|
||||
{
|
||||
id: "1",
|
||||
type: "comments",
|
||||
id: '1',
|
||||
type: 'comments',
|
||||
attributes: {
|
||||
body: "ZOMG A COMMENT"
|
||||
body: 'ZOMG A COMMENT'
|
||||
},
|
||||
relationships: {
|
||||
post: { data: { type: "posts", id: "10" } },
|
||||
post: { data: { type: 'posts', id: '10' } },
|
||||
author: { data: nil }
|
||||
}
|
||||
}, {
|
||||
id: "2",
|
||||
type: "comments",
|
||||
id: '2',
|
||||
type: 'comments',
|
||||
attributes: {
|
||||
body: "ZOMG ANOTHER COMMENT",
|
||||
body: 'ZOMG ANOTHER COMMENT',
|
||||
},
|
||||
relationships: {
|
||||
post: { data: { type: "posts", id: "10" } },
|
||||
post: { data: { type: 'posts', id: '10' } },
|
||||
author: { data: nil }
|
||||
}
|
||||
}, {
|
||||
id: "1",
|
||||
type: "authors",
|
||||
id: '1',
|
||||
type: 'authors',
|
||||
attributes: {
|
||||
name: "Steve K."
|
||||
name: 'Steve K.'
|
||||
},
|
||||
relationships: {
|
||||
posts: { data: [ { type: "posts", id: "10" }, { type: "posts", id: "30" } ] },
|
||||
posts: { data: [ { type: 'posts', id: '10' }, { type: 'posts', id: '30' } ] },
|
||||
roles: { data: [] },
|
||||
bio: { data: { type: "bios", id: "1" } }
|
||||
bio: { data: { type: 'bios', id: '1' } }
|
||||
}
|
||||
}, {
|
||||
id: "1",
|
||||
type: "bios",
|
||||
id: '1',
|
||||
type: 'bios',
|
||||
attributes: {
|
||||
content: "AMS Contributor",
|
||||
content: 'AMS Contributor',
|
||||
rating: nil
|
||||
},
|
||||
relationships: {
|
||||
author: { data: { type: "authors", id: "1" } }
|
||||
author: { data: { type: 'authors', id: '1' } }
|
||||
}
|
||||
}, {
|
||||
id: "2",
|
||||
type: "authors",
|
||||
id: '2',
|
||||
type: 'authors',
|
||||
attributes: {
|
||||
name: "Tenderlove"
|
||||
name: 'Tenderlove'
|
||||
},
|
||||
relationships: {
|
||||
posts: { data: [ { type: "posts", id:"20" } ] },
|
||||
posts: { data: [ { type: 'posts', id:'20' } ] },
|
||||
roles: { data: [] },
|
||||
bio: { data: { type: "bios", id: "2" } }
|
||||
bio: { data: { type: 'bios', id: '2' } }
|
||||
}
|
||||
}, {
|
||||
id: "2",
|
||||
type: "bios",
|
||||
id: '2',
|
||||
type: 'bios',
|
||||
attributes: {
|
||||
rating: nil,
|
||||
content: "Rails Contributor",
|
||||
content: 'Rails Contributor',
|
||||
},
|
||||
relationships: {
|
||||
author: { data: { type: "authors", id: "2" } }
|
||||
author: { data: { type: 'authors', id: '2' } }
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -162,39 +162,39 @@ module ActiveModel
|
||||
|
||||
expected = [
|
||||
{
|
||||
id: "1",
|
||||
type: "authors",
|
||||
id: '1',
|
||||
type: 'authors',
|
||||
attributes: {
|
||||
name: "Steve K."
|
||||
name: 'Steve K.'
|
||||
},
|
||||
relationships: {
|
||||
posts: { data: [ { type: "posts", id: "10"}, { type: "posts", id: "30" }] },
|
||||
posts: { data: [ { type: 'posts', id: '10'}, { type: 'posts', id: '30' }] },
|
||||
roles: { data: [] },
|
||||
bio: { data: { type: "bios", id: "1" }}
|
||||
bio: { data: { type: 'bios', id: '1' }}
|
||||
}
|
||||
}, {
|
||||
id: "10",
|
||||
type: "posts",
|
||||
id: '10',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: "Hello!!",
|
||||
body: "Hello, world!!"
|
||||
title: 'Hello!!',
|
||||
body: 'Hello, world!!'
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [ { type: "comments", id: "1"}, { type: "comments", id: "2" }] },
|
||||
blog: { data: { type: "blogs", id: "999" } },
|
||||
author: { data: { type: "authors", id: "1" } }
|
||||
comments: { data: [ { type: 'comments', id: '1'}, { type: 'comments', id: '2' }] },
|
||||
blog: { data: { type: 'blogs', id: '999' } },
|
||||
author: { data: { type: 'authors', id: '1' } }
|
||||
}
|
||||
}, {
|
||||
id: "30",
|
||||
type: "posts",
|
||||
id: '30',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: "Yet Another Post",
|
||||
body: "Body"
|
||||
title: 'Yet Another Post',
|
||||
body: 'Body'
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [] },
|
||||
blog: { data: { type: "blogs", id: "999" } },
|
||||
author: { data: { type: "authors", id: "1" } }
|
||||
blog: { data: { type: 'blogs', id: '999' } },
|
||||
author: { data: { type: 'authors', id: '1' } }
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -229,21 +229,21 @@ module ActiveModel
|
||||
|
||||
expected = [
|
||||
{
|
||||
id: "10",
|
||||
type: "posts",
|
||||
id: '10',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: "Hello!!",
|
||||
body: "Hello, world!!"
|
||||
title: 'Hello!!',
|
||||
body: 'Hello, world!!'
|
||||
},
|
||||
relationships: {
|
||||
comments: {
|
||||
data: [{type: "comments", id: "1"}, {type: "comments", id: "2"}]
|
||||
data: [{type: 'comments', id: '1'}, {type: 'comments', id: '2'}]
|
||||
},
|
||||
blog: {
|
||||
data: {type: "blogs", id: "999"}
|
||||
data: {type: 'blogs', id: '999'}
|
||||
},
|
||||
author: {
|
||||
data: {type: "authors", id: "1"}
|
||||
data: {type: 'authors', id: '1'}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -262,14 +262,14 @@ module ActiveModel
|
||||
|
||||
expected = {
|
||||
data: {
|
||||
id: "10",
|
||||
type: "posts",
|
||||
id: '10',
|
||||
type: 'posts',
|
||||
attributes: {
|
||||
title: "Hello!!",
|
||||
body: "Hello, world!!"
|
||||
title: 'Hello!!',
|
||||
body: 'Hello, world!!'
|
||||
},
|
||||
relationships: {
|
||||
comments: { data: [ { type: "comments", id: '1' }, { type: "comments", id: '2' } ] },
|
||||
comments: { data: [ { type: 'comments', id: '1' }, { type: 'comments', id: '2' } ] },
|
||||
author: { data: nil }
|
||||
}
|
||||
}
|
||||
|
||||
@ -43,9 +43,9 @@ module ActiveModel
|
||||
|
||||
def data
|
||||
{ data:[
|
||||
{ id:"1", type:"profiles", attributes:{name:"Name 1", description:"Description 1" } },
|
||||
{ id:"2", type:"profiles", attributes:{name:"Name 2", description:"Description 2" } },
|
||||
{ id:"3", type:"profiles", attributes:{name:"Name 3", description:"Description 3" } }
|
||||
{ id:'1', type:'profiles', attributes:{name:'Name 1', description:'Description 1' } },
|
||||
{ id:'2', type:'profiles', attributes:{name:'Name 2', description:'Description 2' } },
|
||||
{ id:'3', type:'profiles', attributes:{name:'Name 3', description:'Description 3' } }
|
||||
]
|
||||
}
|
||||
end
|
||||
|
||||
@ -21,7 +21,7 @@ module ActiveModel
|
||||
@comment.author = nil
|
||||
@post.author = @author
|
||||
@anonymous_post.author = nil
|
||||
@blog = Blog.new(id: 1, name: "My Blog!!")
|
||||
@blog = Blog.new(id: 1, name: 'My Blog!!')
|
||||
@blog.writer = @author
|
||||
@blog.articles = [@post, @anonymous_post]
|
||||
@author.posts = []
|
||||
|
||||
@ -14,7 +14,7 @@ module ActiveModel
|
||||
@first_comment.post = @post
|
||||
@second_comment.post = @post
|
||||
@post.author = @author
|
||||
@blog = Blog.new(id: 1, name: "My Blog!!")
|
||||
@blog = Blog.new(id: 1, name: 'My Blog!!')
|
||||
@post.blog = @blog
|
||||
|
||||
@serializer = PostSerializer.new(@post)
|
||||
@ -34,11 +34,11 @@ module ActiveModel
|
||||
|
||||
assert_equal({
|
||||
id: 1,
|
||||
reviews: [{id: 1, body: "ZOMG A COMMENT"},
|
||||
{id: 2, body: "ZOMG ANOTHER COMMENT"}
|
||||
reviews: [{id: 1, body: 'ZOMG A COMMENT'},
|
||||
{id: 2, body: 'ZOMG ANOTHER COMMENT'}
|
||||
],
|
||||
writer: {id: 1, name: "Steve K."},
|
||||
site: {id: 1, name: "My Blog!!"}
|
||||
writer: {id: 1, name: 'Steve K.'},
|
||||
site: {id: 1, name: 'My Blog!!'}
|
||||
}, adapter.serializable_hash[:post])
|
||||
end
|
||||
end
|
||||
|
||||
@ -42,11 +42,11 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def test_meta_and_meta_key_attr_readers
|
||||
meta_content = {meta: "the meta", meta_key: "the meta key"}
|
||||
meta_content = {meta: 'the meta', meta_key: 'the meta key'}
|
||||
@serializer = ArraySerializer.new([@comment, @post], meta_content)
|
||||
|
||||
assert_equal @serializer.meta, "the meta"
|
||||
assert_equal @serializer.meta_key, "the meta key"
|
||||
assert_equal @serializer.meta, 'the meta'
|
||||
assert_equal @serializer.meta_key, 'the meta key'
|
||||
end
|
||||
|
||||
def test_root_default
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
# https://raw.githubusercontent.com/metric_fu/metric_fu/master/spec/capture_warnings.rb
|
||||
require "tempfile"
|
||||
require "fileutils"
|
||||
require 'tempfile'
|
||||
require 'fileutils'
|
||||
|
||||
class CaptureWarnings
|
||||
def initialize(fail_on_warnings = true)
|
||||
@fail_on_warnings = fail_on_warnings
|
||||
@stderr_file = Tempfile.new("app.stderr")
|
||||
@stderr_file = Tempfile.new('app.stderr')
|
||||
@app_root ||= Dir.pwd
|
||||
@output_dir = File.join(app_root, "tmp")
|
||||
@output_dir = File.join(app_root, 'tmp')
|
||||
FileUtils.mkdir_p(output_dir)
|
||||
@bundle_dir = File.join(app_root, "bundle")
|
||||
@bundle_dir = File.join(app_root, 'bundle')
|
||||
end
|
||||
|
||||
def before_tests
|
||||
@ -40,9 +40,9 @@ class CaptureWarnings
|
||||
end
|
||||
|
||||
if other_warnings.any?
|
||||
File.write(File.join(output_dir, "warnings.txt"), other_warnings.join("\n") << "\n")
|
||||
File.write(File.join(output_dir, 'warnings.txt'), other_warnings.join("\n") << "\n")
|
||||
puts
|
||||
puts "Non-app warnings written to tmp/warnings.txt"
|
||||
puts 'Non-app warnings written to tmp/warnings.txt'
|
||||
puts
|
||||
end
|
||||
|
||||
|
||||
2
test/fixtures/poro.rb
vendored
2
test/fixtures/poro.rb
vendored
@ -103,7 +103,7 @@ PostSerializer = Class.new(ActiveModel::Serializer) do
|
||||
url :comments
|
||||
|
||||
def blog
|
||||
Blog.new(id: 999, name: "Custom blog")
|
||||
Blog.new(id: 999, name: 'Custom blog')
|
||||
end
|
||||
|
||||
def custom_options
|
||||
|
||||
@ -2,7 +2,7 @@ require 'test_helper'
|
||||
require 'generators/serializer/serializer_generator'
|
||||
|
||||
class SerializerGeneratorTest < Rails::Generators::TestCase
|
||||
destination File.expand_path("../../../tmp/generators", __FILE__)
|
||||
destination File.expand_path('../../../tmp/generators', __FILE__)
|
||||
setup :prepare_destination
|
||||
|
||||
tests Rails::Generators::SerializerGenerator
|
||||
@ -10,33 +10,33 @@ class SerializerGeneratorTest < Rails::Generators::TestCase
|
||||
|
||||
def test_generates_a_serializer
|
||||
run_generator
|
||||
assert_file "app/serializers/account_serializer.rb", /class AccountSerializer < ActiveModel::Serializer/
|
||||
assert_file 'app/serializers/account_serializer.rb', /class AccountSerializer < ActiveModel::Serializer/
|
||||
end
|
||||
|
||||
def test_generates_a_namespaced_serializer
|
||||
run_generator ["admin/account"]
|
||||
assert_file "app/serializers/admin/account_serializer.rb", /class Admin::AccountSerializer < ActiveModel::Serializer/
|
||||
run_generator ['admin/account']
|
||||
assert_file 'app/serializers/admin/account_serializer.rb', /class Admin::AccountSerializer < ActiveModel::Serializer/
|
||||
end
|
||||
|
||||
def test_uses_application_serializer_if_one_exists
|
||||
Object.const_set(:ApplicationSerializer, Class.new)
|
||||
run_generator
|
||||
assert_file "app/serializers/account_serializer.rb", /class AccountSerializer < ApplicationSerializer/
|
||||
assert_file 'app/serializers/account_serializer.rb', /class AccountSerializer < ApplicationSerializer/
|
||||
ensure
|
||||
Object.send :remove_const, :ApplicationSerializer
|
||||
end
|
||||
|
||||
def test_uses_given_parent
|
||||
Object.const_set(:ApplicationSerializer, Class.new)
|
||||
run_generator ["Account", "--parent=MySerializer"]
|
||||
assert_file "app/serializers/account_serializer.rb", /class AccountSerializer < MySerializer/
|
||||
run_generator ['Account', '--parent=MySerializer']
|
||||
assert_file 'app/serializers/account_serializer.rb', /class AccountSerializer < MySerializer/
|
||||
ensure
|
||||
Object.send :remove_const, :ApplicationSerializer
|
||||
end
|
||||
|
||||
def test_generates_attributes_and_associations
|
||||
run_generator
|
||||
assert_file "app/serializers/account_serializer.rb" do |serializer|
|
||||
assert_file 'app/serializers/account_serializer.rb' do |serializer|
|
||||
assert_match(/^ attributes :id, :name, :description$/, serializer)
|
||||
assert_match(/^ has_one :business$/, serializer)
|
||||
assert_match(/^end\n*\z/, serializer)
|
||||
@ -44,8 +44,8 @@ class SerializerGeneratorTest < Rails::Generators::TestCase
|
||||
end
|
||||
|
||||
def test_with_no_attributes_does_not_add_extra_space
|
||||
run_generator ["account"]
|
||||
assert_file "app/serializers/account_serializer.rb" do |content|
|
||||
run_generator ['account']
|
||||
assert_file 'app/serializers/account_serializer.rb' do |content|
|
||||
if RUBY_PLATFORM =~ /mingw/
|
||||
assert_no_match(/\r\n\r\nend/, content)
|
||||
else
|
||||
|
||||
@ -74,7 +74,7 @@ module ActiveModel
|
||||
|
||||
assert_equal key, :tags
|
||||
assert_equal serializer, nil
|
||||
assert_equal [{ attributes: { name: "#hashtagged" }}].to_json, options[:virtual_value].to_json
|
||||
assert_equal [{ attributes: { name: '#hashtagged' }}].to_json, options[:virtual_value].to_json
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@ module ActiveModel
|
||||
class Serializer
|
||||
class AttributeTest < Minitest::Test
|
||||
def setup
|
||||
@blog = Blog.new({ id: 1, name: 'AMS Hints', type: "stuff" })
|
||||
@blog = Blog.new({ id: 1, name: 'AMS Hints', type: 'stuff' })
|
||||
@blog_serializer = AlternateBlogSerializer.new(@blog)
|
||||
end
|
||||
|
||||
@ -15,14 +15,14 @@ module ActiveModel
|
||||
|
||||
def test_json_serializable_hash
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(@blog_serializer)
|
||||
assert_equal({blog: { id:1, title:"AMS Hints"}}, adapter.serializable_hash)
|
||||
assert_equal({blog: { id:1, title:'AMS Hints'}}, adapter.serializable_hash)
|
||||
end
|
||||
|
||||
def test_attribute_inheritance_with_key
|
||||
inherited_klass = Class.new(AlternateBlogSerializer)
|
||||
blog_serializer = inherited_klass.new(@blog)
|
||||
adapter = ActiveModel::Serializer::Adapter::FlattenJson.new(blog_serializer)
|
||||
assert_equal({:id=>1, :title=>"AMS Hints"}, adapter.serializable_hash)
|
||||
assert_equal({:id=>1, :title=>'AMS Hints'}, adapter.serializable_hash)
|
||||
end
|
||||
|
||||
def test_multiple_calls_with_the_same_attribute
|
||||
@ -40,7 +40,7 @@ module ActiveModel
|
||||
end
|
||||
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(serializer.new(@blog))
|
||||
assert_equal({ blog: { id: "AMS Hints" } }, adapter.serializable_hash)
|
||||
assert_equal({ blog: { id: 'AMS Hints' } }, adapter.serializable_hash)
|
||||
end
|
||||
|
||||
def test_type_attribute
|
||||
@ -55,7 +55,7 @@ module ActiveModel
|
||||
assert_equal({ blog: { type: 1} }, adapter.serializable_hash)
|
||||
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(attributes_serializer.new(@blog))
|
||||
assert_equal({ blog: { type: "stuff" } }, adapter.serializable_hash)
|
||||
assert_equal({ blog: { type: 'stuff' } }, adapter.serializable_hash)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -6,7 +6,7 @@ module ActiveModel
|
||||
def setup
|
||||
@profile = Profile.new({ name: 'Name 1', description: 'Description 1', comments: 'Comments 1' })
|
||||
@profile_serializer = ProfileSerializer.new(@profile)
|
||||
@comment = Comment.new(id: 1, body: "ZOMG!!", date: "2015")
|
||||
@comment = Comment.new(id: 1, body: 'ZOMG!!', date: '2015')
|
||||
@serializer_klass = Class.new(CommentSerializer)
|
||||
@serializer_klass_with_new_attributes = Class.new(CommentSerializer) do
|
||||
attributes :date, :likes
|
||||
@ -35,7 +35,7 @@ module ActiveModel
|
||||
|
||||
def test_attributes_inheritance
|
||||
serializer = @serializer_klass.new(@comment)
|
||||
assert_equal({id: 1, body: "ZOMG!!"},
|
||||
assert_equal({id: 1, body: 'ZOMG!!'},
|
||||
serializer.attributes)
|
||||
end
|
||||
|
||||
@ -46,7 +46,7 @@ module ActiveModel
|
||||
|
||||
def test_attribute_inheritance_with_new_attribute
|
||||
serializer = @serializer_klass_with_new_attributes.new(@comment)
|
||||
assert_equal({id: 1, body: "ZOMG!!", date: "2015", likes: nil},
|
||||
assert_equal({id: 1, body: 'ZOMG!!', date: '2015', likes: nil},
|
||||
serializer.attributes)
|
||||
end
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ module ActiveModel
|
||||
@post = Post.new(title: 'New Post', body: 'Body')
|
||||
@bio = Bio.new(id: 1, content: 'AMS Contributor')
|
||||
@author = Author.new(name: 'Joao M. D. Moura')
|
||||
@blog = Blog.new(id: 999, name: "Custom blog", writer: @author, articles: [])
|
||||
@blog = Blog.new(id: 999, name: 'Custom blog', writer: @author, articles: [])
|
||||
@role = Role.new(name: 'Great Author')
|
||||
@location = Location.new(lat: '-23.550520', lng: '-46.633309')
|
||||
@place = Place.new(name: 'Amazing Place')
|
||||
@ -131,20 +131,20 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def test_serializer_file_path_on_nix
|
||||
path = "/Users/git/emberjs/ember-crm-backend/app/serializers/lead_serializer.rb"
|
||||
path = '/Users/git/emberjs/ember-crm-backend/app/serializers/lead_serializer.rb'
|
||||
caller_line = "#{path}:1:in `<top (required)>'"
|
||||
assert_equal caller_line[ActiveModel::Serializer::CALLER_FILE], path
|
||||
end
|
||||
|
||||
def test_serializer_file_path_on_windows
|
||||
path = "c:/git/emberjs/ember-crm-backend/app/serializers/lead_serializer.rb"
|
||||
path = 'c:/git/emberjs/ember-crm-backend/app/serializers/lead_serializer.rb'
|
||||
caller_line = "#{path}:1:in `<top (required)>'"
|
||||
assert_equal caller_line[ActiveModel::Serializer::CALLER_FILE], path
|
||||
end
|
||||
|
||||
def test_digest_caller_file
|
||||
contents = "puts 'AMS rocks'!"
|
||||
file = Tempfile.new("some_ruby.rb")
|
||||
file = Tempfile.new('some_ruby.rb')
|
||||
file.write(contents)
|
||||
path = file.path
|
||||
caller_line = "#{path}:1:in `<top (required)>'"
|
||||
|
||||
@ -7,8 +7,8 @@ module ActiveModel
|
||||
ActionController::Base.cache_store.clear
|
||||
@blog = Blog.new(id: 1,
|
||||
name: 'AMS Hints',
|
||||
writer: Author.new(id: 2, name: "Steve"),
|
||||
articles: [Post.new(id: 3, title: "AMS")])
|
||||
writer: Author.new(id: 2, name: 'Steve'),
|
||||
articles: [Post.new(id: 3, title: 'AMS')])
|
||||
end
|
||||
|
||||
def test_meta_is_present_with_root
|
||||
@ -17,9 +17,9 @@ module ActiveModel
|
||||
expected = {
|
||||
blog: {
|
||||
id: 1,
|
||||
title: "AMS Hints"
|
||||
title: 'AMS Hints'
|
||||
},
|
||||
"meta" => {
|
||||
'meta' => {
|
||||
total: 10
|
||||
}
|
||||
}
|
||||
@ -31,20 +31,20 @@ module ActiveModel
|
||||
adapter = load_adapter(meta: {total: 10})
|
||||
expected = {
|
||||
id: 1,
|
||||
title: "AMS Hints"
|
||||
title: 'AMS Hints'
|
||||
}
|
||||
assert_equal expected, adapter.as_json
|
||||
end
|
||||
|
||||
def test_meta_key_is_used
|
||||
serializer = AlternateBlogSerializer.new(@blog, meta: {total: 10}, meta_key: "haha_meta")
|
||||
serializer = AlternateBlogSerializer.new(@blog, meta: {total: 10}, meta_key: 'haha_meta')
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(serializer)
|
||||
expected = {
|
||||
blog: {
|
||||
id: 1,
|
||||
title: "AMS Hints"
|
||||
title: 'AMS Hints'
|
||||
},
|
||||
"haha_meta" => {
|
||||
'haha_meta' => {
|
||||
total: 10
|
||||
}
|
||||
}
|
||||
@ -52,15 +52,15 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def test_meta_key_is_used_with_json_api
|
||||
serializer = AlternateBlogSerializer.new(@blog, meta: {total: 10}, meta_key: "haha_meta")
|
||||
serializer = AlternateBlogSerializer.new(@blog, meta: {total: 10}, meta_key: 'haha_meta')
|
||||
adapter = ActiveModel::Serializer::Adapter::JsonApi.new(serializer)
|
||||
expected = {
|
||||
data: {
|
||||
id: "1",
|
||||
type: "blogs",
|
||||
attributes: { title: "AMS Hints" }
|
||||
id: '1',
|
||||
type: 'blogs',
|
||||
attributes: { title: 'AMS Hints' }
|
||||
},
|
||||
"haha_meta" => { total: 10 }
|
||||
'haha_meta' => { total: 10 }
|
||||
}
|
||||
assert_equal expected, adapter.as_json
|
||||
end
|
||||
@ -71,14 +71,14 @@ module ActiveModel
|
||||
adapter = ActiveModel::Serializer::Adapter::FlattenJson.new(serializer)
|
||||
expected = [{
|
||||
id: 1,
|
||||
name: "AMS Hints",
|
||||
name: 'AMS Hints',
|
||||
writer: {
|
||||
id: 2,
|
||||
name: "Steve"
|
||||
name: 'Steve'
|
||||
},
|
||||
articles: [{
|
||||
id: 3,
|
||||
title: "AMS",
|
||||
title: 'AMS',
|
||||
body: nil
|
||||
}]
|
||||
}]
|
||||
@ -86,20 +86,20 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def test_meta_is_present_on_arrays_with_root
|
||||
serializer = ArraySerializer.new([@blog], meta: {total: 10}, meta_key: "haha_meta")
|
||||
serializer = ArraySerializer.new([@blog], meta: {total: 10}, meta_key: 'haha_meta')
|
||||
# JSON adapter adds root by default
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(serializer)
|
||||
expected = {
|
||||
blogs: [{
|
||||
id: 1,
|
||||
name: "AMS Hints",
|
||||
name: 'AMS Hints',
|
||||
writer: {
|
||||
id: 2,
|
||||
name: "Steve"
|
||||
name: 'Steve'
|
||||
},
|
||||
articles: [{
|
||||
id: 3,
|
||||
title: "AMS",
|
||||
title: 'AMS',
|
||||
body: nil
|
||||
}]
|
||||
}],
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# Use cleaner stream testing interface from Rails 5 if available
|
||||
# see https://github.com/rails/rails/blob/29959eb59d/activesupport/lib/active_support/testing/stream.rb
|
||||
begin
|
||||
require "active_support/testing/stream"
|
||||
require 'active_support/testing/stream'
|
||||
rescue LoadError
|
||||
module ActiveSupport
|
||||
module Testing
|
||||
|
||||
@ -23,7 +23,7 @@ if Minitest.respond_to?(:after_run)
|
||||
end
|
||||
else
|
||||
at_exit do
|
||||
STDOUT.puts "Minitest.after_run not available."
|
||||
STDOUT.puts 'Minitest.after_run not available.'
|
||||
@capture_warnings.after_tests
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
Reference in New Issue
Block a user