mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-25 15:23:06 +00:00
re: RuboCop - Use nested module/class definition instead of compact style.
This commit is contained in:
@@ -1,20 +1,22 @@
|
||||
require 'test_helper'
|
||||
|
||||
class ActiveModelSerializers::JsonPointerTest < ActiveSupport::TestCase
|
||||
def test_attribute_pointer
|
||||
attribute_name = 'title'
|
||||
pointer = ActiveModelSerializers::JsonPointer.new(:attribute, attribute_name)
|
||||
assert_equal '/data/attributes/title', pointer
|
||||
end
|
||||
module ActiveModelSerializers
|
||||
class JsonPointerTest < ActiveSupport::TestCase
|
||||
def test_attribute_pointer
|
||||
attribute_name = 'title'
|
||||
pointer = ActiveModelSerializers::JsonPointer.new(:attribute, attribute_name)
|
||||
assert_equal '/data/attributes/title', pointer
|
||||
end
|
||||
|
||||
def test_primary_data_pointer
|
||||
pointer = ActiveModelSerializers::JsonPointer.new(:primary_data)
|
||||
assert_equal '/data', pointer
|
||||
end
|
||||
def test_primary_data_pointer
|
||||
pointer = ActiveModelSerializers::JsonPointer.new(:primary_data)
|
||||
assert_equal '/data', pointer
|
||||
end
|
||||
|
||||
def test_unkown_data_pointer
|
||||
assert_raises(TypeError) do
|
||||
ActiveModelSerializers::JsonPointer.new(:unknown)
|
||||
def test_unkown_data_pointer
|
||||
assert_raises(TypeError) do
|
||||
ActiveModelSerializers::JsonPointer.new(:unknown)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,263 +1,265 @@
|
||||
require 'test_helper'
|
||||
|
||||
class ActiveModelSerializers::KeyTransformTest < ActiveSupport::TestCase
|
||||
def test_camel
|
||||
obj = Object.new
|
||||
scenarios = [
|
||||
{
|
||||
value: { "some-key": 'value' },
|
||||
expected: { SomeKey: 'value' }
|
||||
},
|
||||
{
|
||||
value: { someKey: 'value' },
|
||||
expected: { SomeKey: 'value' }
|
||||
},
|
||||
{
|
||||
value: { some_key: 'value' },
|
||||
expected: { SomeKey: 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'some-key' => 'value' },
|
||||
expected: { 'SomeKey' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'someKey' => 'value' },
|
||||
expected: { 'SomeKey' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'some_key' => 'value' },
|
||||
expected: { 'SomeKey' => 'value' }
|
||||
},
|
||||
{
|
||||
value: :"some-value",
|
||||
expected: :SomeValue
|
||||
},
|
||||
{
|
||||
value: :some_value,
|
||||
expected: :SomeValue
|
||||
},
|
||||
{
|
||||
value: :someValue,
|
||||
expected: :SomeValue
|
||||
},
|
||||
{
|
||||
value: 'some-value',
|
||||
expected: 'SomeValue'
|
||||
},
|
||||
{
|
||||
value: 'someValue',
|
||||
expected: 'SomeValue'
|
||||
},
|
||||
{
|
||||
value: 'some_value',
|
||||
expected: 'SomeValue'
|
||||
},
|
||||
{
|
||||
value: obj,
|
||||
expected: obj
|
||||
},
|
||||
{
|
||||
value: nil,
|
||||
expected: nil
|
||||
}
|
||||
]
|
||||
scenarios.each do |s|
|
||||
result = ActiveModelSerializers::KeyTransform.camel(s[:value])
|
||||
assert_equal s[:expected], result
|
||||
module ActiveModelSerializers
|
||||
class KeyTransformTest < ActiveSupport::TestCase
|
||||
def test_camel
|
||||
obj = Object.new
|
||||
scenarios = [
|
||||
{
|
||||
value: { "some-key": 'value' },
|
||||
expected: { SomeKey: 'value' }
|
||||
},
|
||||
{
|
||||
value: { someKey: 'value' },
|
||||
expected: { SomeKey: 'value' }
|
||||
},
|
||||
{
|
||||
value: { some_key: 'value' },
|
||||
expected: { SomeKey: 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'some-key' => 'value' },
|
||||
expected: { 'SomeKey' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'someKey' => 'value' },
|
||||
expected: { 'SomeKey' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'some_key' => 'value' },
|
||||
expected: { 'SomeKey' => 'value' }
|
||||
},
|
||||
{
|
||||
value: :"some-value",
|
||||
expected: :SomeValue
|
||||
},
|
||||
{
|
||||
value: :some_value,
|
||||
expected: :SomeValue
|
||||
},
|
||||
{
|
||||
value: :someValue,
|
||||
expected: :SomeValue
|
||||
},
|
||||
{
|
||||
value: 'some-value',
|
||||
expected: 'SomeValue'
|
||||
},
|
||||
{
|
||||
value: 'someValue',
|
||||
expected: 'SomeValue'
|
||||
},
|
||||
{
|
||||
value: 'some_value',
|
||||
expected: 'SomeValue'
|
||||
},
|
||||
{
|
||||
value: obj,
|
||||
expected: obj
|
||||
},
|
||||
{
|
||||
value: nil,
|
||||
expected: nil
|
||||
}
|
||||
]
|
||||
scenarios.each do |s|
|
||||
result = ActiveModelSerializers::KeyTransform.camel(s[:value])
|
||||
assert_equal s[:expected], result
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_camel_lower
|
||||
obj = Object.new
|
||||
scenarios = [
|
||||
{
|
||||
value: { "some-key": 'value' },
|
||||
expected: { someKey: 'value' }
|
||||
},
|
||||
{
|
||||
value: { SomeKey: 'value' },
|
||||
expected: { someKey: 'value' }
|
||||
},
|
||||
{
|
||||
value: { some_key: 'value' },
|
||||
expected: { someKey: 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'some-key' => 'value' },
|
||||
expected: { 'someKey' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'SomeKey' => 'value' },
|
||||
expected: { 'someKey' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'some_key' => 'value' },
|
||||
expected: { 'someKey' => 'value' }
|
||||
},
|
||||
{
|
||||
value: :"some-value",
|
||||
expected: :someValue
|
||||
},
|
||||
{
|
||||
value: :SomeValue,
|
||||
expected: :someValue
|
||||
},
|
||||
{
|
||||
value: :some_value,
|
||||
expected: :someValue
|
||||
},
|
||||
{
|
||||
value: 'some-value',
|
||||
expected: 'someValue'
|
||||
},
|
||||
{
|
||||
value: 'SomeValue',
|
||||
expected: 'someValue'
|
||||
},
|
||||
{
|
||||
value: 'some_value',
|
||||
expected: 'someValue'
|
||||
},
|
||||
{
|
||||
value: obj,
|
||||
expected: obj
|
||||
},
|
||||
{
|
||||
value: nil,
|
||||
expected: nil
|
||||
}
|
||||
]
|
||||
scenarios.each do |s|
|
||||
result = ActiveModelSerializers::KeyTransform.camel_lower(s[:value])
|
||||
assert_equal s[:expected], result
|
||||
def test_camel_lower
|
||||
obj = Object.new
|
||||
scenarios = [
|
||||
{
|
||||
value: { "some-key": 'value' },
|
||||
expected: { someKey: 'value' }
|
||||
},
|
||||
{
|
||||
value: { SomeKey: 'value' },
|
||||
expected: { someKey: 'value' }
|
||||
},
|
||||
{
|
||||
value: { some_key: 'value' },
|
||||
expected: { someKey: 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'some-key' => 'value' },
|
||||
expected: { 'someKey' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'SomeKey' => 'value' },
|
||||
expected: { 'someKey' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'some_key' => 'value' },
|
||||
expected: { 'someKey' => 'value' }
|
||||
},
|
||||
{
|
||||
value: :"some-value",
|
||||
expected: :someValue
|
||||
},
|
||||
{
|
||||
value: :SomeValue,
|
||||
expected: :someValue
|
||||
},
|
||||
{
|
||||
value: :some_value,
|
||||
expected: :someValue
|
||||
},
|
||||
{
|
||||
value: 'some-value',
|
||||
expected: 'someValue'
|
||||
},
|
||||
{
|
||||
value: 'SomeValue',
|
||||
expected: 'someValue'
|
||||
},
|
||||
{
|
||||
value: 'some_value',
|
||||
expected: 'someValue'
|
||||
},
|
||||
{
|
||||
value: obj,
|
||||
expected: obj
|
||||
},
|
||||
{
|
||||
value: nil,
|
||||
expected: nil
|
||||
}
|
||||
]
|
||||
scenarios.each do |s|
|
||||
result = ActiveModelSerializers::KeyTransform.camel_lower(s[:value])
|
||||
assert_equal s[:expected], result
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_dash
|
||||
obj = Object.new
|
||||
scenarios = [
|
||||
{
|
||||
value: { some_key: 'value' },
|
||||
expected: { "some-key": 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'some_key' => 'value' },
|
||||
expected: { 'some-key' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { SomeKey: 'value' },
|
||||
expected: { "some-key": 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'SomeKey' => 'value' },
|
||||
expected: { 'some-key' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { someKey: 'value' },
|
||||
expected: { "some-key": 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'someKey' => 'value' },
|
||||
expected: { 'some-key' => 'value' }
|
||||
},
|
||||
{
|
||||
value: :some_value,
|
||||
expected: :"some-value"
|
||||
},
|
||||
{
|
||||
value: :SomeValue,
|
||||
expected: :"some-value"
|
||||
},
|
||||
{
|
||||
value: 'SomeValue',
|
||||
expected: 'some-value'
|
||||
},
|
||||
{
|
||||
value: :someValue,
|
||||
expected: :"some-value"
|
||||
},
|
||||
{
|
||||
value: 'someValue',
|
||||
expected: 'some-value'
|
||||
},
|
||||
{
|
||||
value: obj,
|
||||
expected: obj
|
||||
},
|
||||
{
|
||||
value: nil,
|
||||
expected: nil
|
||||
}
|
||||
]
|
||||
scenarios.each do |s|
|
||||
result = ActiveModelSerializers::KeyTransform.dash(s[:value])
|
||||
assert_equal s[:expected], result
|
||||
def test_dash
|
||||
obj = Object.new
|
||||
scenarios = [
|
||||
{
|
||||
value: { some_key: 'value' },
|
||||
expected: { "some-key": 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'some_key' => 'value' },
|
||||
expected: { 'some-key' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { SomeKey: 'value' },
|
||||
expected: { "some-key": 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'SomeKey' => 'value' },
|
||||
expected: { 'some-key' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { someKey: 'value' },
|
||||
expected: { "some-key": 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'someKey' => 'value' },
|
||||
expected: { 'some-key' => 'value' }
|
||||
},
|
||||
{
|
||||
value: :some_value,
|
||||
expected: :"some-value"
|
||||
},
|
||||
{
|
||||
value: :SomeValue,
|
||||
expected: :"some-value"
|
||||
},
|
||||
{
|
||||
value: 'SomeValue',
|
||||
expected: 'some-value'
|
||||
},
|
||||
{
|
||||
value: :someValue,
|
||||
expected: :"some-value"
|
||||
},
|
||||
{
|
||||
value: 'someValue',
|
||||
expected: 'some-value'
|
||||
},
|
||||
{
|
||||
value: obj,
|
||||
expected: obj
|
||||
},
|
||||
{
|
||||
value: nil,
|
||||
expected: nil
|
||||
}
|
||||
]
|
||||
scenarios.each do |s|
|
||||
result = ActiveModelSerializers::KeyTransform.dash(s[:value])
|
||||
assert_equal s[:expected], result
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_underscore
|
||||
obj = Object.new
|
||||
scenarios = [
|
||||
{
|
||||
value: { "some-key": 'value' },
|
||||
expected: { some_key: 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'some-key' => 'value' },
|
||||
expected: { 'some_key' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { SomeKey: 'value' },
|
||||
expected: { some_key: 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'SomeKey' => 'value' },
|
||||
expected: { 'some_key' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { someKey: 'value' },
|
||||
expected: { some_key: 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'someKey' => 'value' },
|
||||
expected: { 'some_key' => 'value' }
|
||||
},
|
||||
{
|
||||
value: :"some-value",
|
||||
expected: :some_value
|
||||
},
|
||||
{
|
||||
value: :SomeValue,
|
||||
expected: :some_value
|
||||
},
|
||||
{
|
||||
value: :someValue,
|
||||
expected: :some_value
|
||||
},
|
||||
{
|
||||
value: 'some-value',
|
||||
expected: 'some_value'
|
||||
},
|
||||
{
|
||||
value: 'SomeValue',
|
||||
expected: 'some_value'
|
||||
},
|
||||
{
|
||||
value: 'someValue',
|
||||
expected: 'some_value'
|
||||
},
|
||||
{
|
||||
value: obj,
|
||||
expected: obj
|
||||
},
|
||||
{
|
||||
value: nil,
|
||||
expected: nil
|
||||
}
|
||||
]
|
||||
scenarios.each do |s|
|
||||
result = ActiveModelSerializers::KeyTransform.underscore(s[:value])
|
||||
assert_equal s[:expected], result
|
||||
def test_underscore
|
||||
obj = Object.new
|
||||
scenarios = [
|
||||
{
|
||||
value: { "some-key": 'value' },
|
||||
expected: { some_key: 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'some-key' => 'value' },
|
||||
expected: { 'some_key' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { SomeKey: 'value' },
|
||||
expected: { some_key: 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'SomeKey' => 'value' },
|
||||
expected: { 'some_key' => 'value' }
|
||||
},
|
||||
{
|
||||
value: { someKey: 'value' },
|
||||
expected: { some_key: 'value' }
|
||||
},
|
||||
{
|
||||
value: { 'someKey' => 'value' },
|
||||
expected: { 'some_key' => 'value' }
|
||||
},
|
||||
{
|
||||
value: :"some-value",
|
||||
expected: :some_value
|
||||
},
|
||||
{
|
||||
value: :SomeValue,
|
||||
expected: :some_value
|
||||
},
|
||||
{
|
||||
value: :someValue,
|
||||
expected: :some_value
|
||||
},
|
||||
{
|
||||
value: 'some-value',
|
||||
expected: 'some_value'
|
||||
},
|
||||
{
|
||||
value: 'SomeValue',
|
||||
expected: 'some_value'
|
||||
},
|
||||
{
|
||||
value: 'someValue',
|
||||
expected: 'some_value'
|
||||
},
|
||||
{
|
||||
value: obj,
|
||||
expected: obj
|
||||
},
|
||||
{
|
||||
value: nil,
|
||||
expected: nil
|
||||
}
|
||||
]
|
||||
scenarios.each do |s|
|
||||
result = ActiveModelSerializers::KeyTransform.underscore(s[:value])
|
||||
assert_equal s[:expected], result
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
require 'test_helper'
|
||||
|
||||
class ActiveModelSerializers::ModelTest < ActiveSupport::TestCase
|
||||
include ActiveModel::Serializer::Lint::Tests
|
||||
module ActiveModelSerializers
|
||||
class ModelTest < ActiveSupport::TestCase
|
||||
include ActiveModel::Serializer::Lint::Tests
|
||||
|
||||
def setup
|
||||
@resource = ActiveModelSerializers::Model.new
|
||||
def setup
|
||||
@resource = ActiveModelSerializers::Model.new
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -5,172 +5,174 @@ require 'kaminari'
|
||||
require 'kaminari/hooks'
|
||||
::Kaminari::Hooks.init
|
||||
|
||||
class ActiveModelSerializers::GrapeTest < ActiveSupport::TestCase
|
||||
include Rack::Test::Methods
|
||||
module Models
|
||||
def self.model1
|
||||
ARModels::Post.new(id: 1, title: 'Dummy Title', body: 'Lorem Ipsum')
|
||||
module ActiveModelSerializers
|
||||
class GrapeTest < ActiveSupport::TestCase
|
||||
include Rack::Test::Methods
|
||||
module Models
|
||||
def self.model1
|
||||
ARModels::Post.new(id: 1, title: 'Dummy Title', body: 'Lorem Ipsum')
|
||||
end
|
||||
|
||||
def self.model2
|
||||
ARModels::Post.new(id: 2, title: 'Second Dummy Title', body: 'Second Lorem Ipsum')
|
||||
end
|
||||
|
||||
def self.all
|
||||
@all ||=
|
||||
begin
|
||||
model1.save!
|
||||
model2.save!
|
||||
ARModels::Post.all
|
||||
end
|
||||
end
|
||||
|
||||
def self.reset_all
|
||||
ARModels::Post.delete_all
|
||||
@all = nil
|
||||
end
|
||||
|
||||
def self.collection_per
|
||||
2
|
||||
end
|
||||
|
||||
def self.collection
|
||||
@collection ||=
|
||||
begin
|
||||
Kaminari.paginate_array(
|
||||
[
|
||||
Profile.new(id: 1, name: 'Name 1', description: 'Description 1', comments: 'Comments 1'),
|
||||
Profile.new(id: 2, name: 'Name 2', description: 'Description 2', comments: 'Comments 2'),
|
||||
Profile.new(id: 3, name: 'Name 3', description: 'Description 3', comments: 'Comments 3'),
|
||||
Profile.new(id: 4, name: 'Name 4', description: 'Description 4', comments: 'Comments 4'),
|
||||
Profile.new(id: 5, name: 'Name 5', description: 'Description 5', comments: 'Comments 5')
|
||||
]
|
||||
).page(1).per(collection_per)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.model2
|
||||
ARModels::Post.new(id: 2, title: 'Second Dummy Title', body: 'Second Lorem Ipsum')
|
||||
end
|
||||
class GrapeTest < Grape::API
|
||||
format :json
|
||||
include Grape::ActiveModelSerializers
|
||||
|
||||
def self.all
|
||||
@all ||=
|
||||
begin
|
||||
model1.save!
|
||||
model2.save!
|
||||
ARModels::Post.all
|
||||
resources :grape do
|
||||
get '/render' do
|
||||
render Models.model1
|
||||
end
|
||||
end
|
||||
|
||||
def self.reset_all
|
||||
ARModels::Post.delete_all
|
||||
@all = nil
|
||||
end
|
||||
|
||||
def self.collection_per
|
||||
2
|
||||
end
|
||||
|
||||
def self.collection
|
||||
@collection ||=
|
||||
begin
|
||||
Kaminari.paginate_array(
|
||||
[
|
||||
Profile.new(id: 1, name: 'Name 1', description: 'Description 1', comments: 'Comments 1'),
|
||||
Profile.new(id: 2, name: 'Name 2', description: 'Description 2', comments: 'Comments 2'),
|
||||
Profile.new(id: 3, name: 'Name 3', description: 'Description 3', comments: 'Comments 3'),
|
||||
Profile.new(id: 4, name: 'Name 4', description: 'Description 4', comments: 'Comments 4'),
|
||||
Profile.new(id: 5, name: 'Name 5', description: 'Description 5', comments: 'Comments 5')
|
||||
]
|
||||
).page(1).per(collection_per)
|
||||
get '/render_with_json_api' do
|
||||
post = Models.model1
|
||||
render post, meta: { page: 1, total_pages: 2 }, adapter: :json_api
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class GrapeTest < Grape::API
|
||||
format :json
|
||||
include Grape::ActiveModelSerializers
|
||||
get '/render_array_with_json_api' do
|
||||
posts = Models.all
|
||||
render posts, adapter: :json_api
|
||||
end
|
||||
|
||||
resources :grape do
|
||||
get '/render' do
|
||||
render Models.model1
|
||||
end
|
||||
get '/render_collection_with_json_api' do
|
||||
posts = Models.collection
|
||||
render posts, adapter: :json_api
|
||||
end
|
||||
|
||||
get '/render_with_json_api' do
|
||||
post = Models.model1
|
||||
render post, meta: { page: 1, total_pages: 2 }, adapter: :json_api
|
||||
end
|
||||
get '/render_with_implicit_formatter' do
|
||||
Models.model1
|
||||
end
|
||||
|
||||
get '/render_array_with_json_api' do
|
||||
posts = Models.all
|
||||
render posts, adapter: :json_api
|
||||
end
|
||||
get '/render_array_with_implicit_formatter' do
|
||||
Models.all
|
||||
end
|
||||
|
||||
get '/render_collection_with_json_api' do
|
||||
posts = Models.collection
|
||||
render posts, adapter: :json_api
|
||||
end
|
||||
|
||||
get '/render_with_implicit_formatter' do
|
||||
Models.model1
|
||||
end
|
||||
|
||||
get '/render_array_with_implicit_formatter' do
|
||||
Models.all
|
||||
end
|
||||
|
||||
get '/render_collection_with_implicit_formatter' do
|
||||
Models.collection
|
||||
get '/render_collection_with_implicit_formatter' do
|
||||
Models.collection
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def app
|
||||
Grape::Middleware::Globals.new(GrapeTest.new)
|
||||
end
|
||||
|
||||
def test_formatter_returns_json
|
||||
get '/grape/render'
|
||||
|
||||
post = Models.model1
|
||||
serializable_resource = serializable(post)
|
||||
|
||||
assert last_response.ok?
|
||||
assert_equal serializable_resource.to_json, last_response.body
|
||||
end
|
||||
|
||||
def test_render_helper_passes_through_options_correctly
|
||||
get '/grape/render_with_json_api'
|
||||
|
||||
post = Models.model1
|
||||
serializable_resource = serializable(post, serializer: ARModels::PostSerializer, adapter: :json_api, meta: { page: 1, total_pages: 2 })
|
||||
|
||||
assert last_response.ok?
|
||||
assert_equal serializable_resource.to_json, last_response.body
|
||||
end
|
||||
|
||||
def test_formatter_handles_arrays
|
||||
get '/grape/render_array_with_json_api'
|
||||
|
||||
posts = Models.all
|
||||
serializable_resource = serializable(posts, adapter: :json_api)
|
||||
|
||||
assert last_response.ok?
|
||||
assert_equal serializable_resource.to_json, last_response.body
|
||||
ensure
|
||||
Models.reset_all
|
||||
end
|
||||
|
||||
def test_formatter_handles_collections
|
||||
get '/grape/render_collection_with_json_api'
|
||||
assert last_response.ok?
|
||||
|
||||
representation = JSON.parse(last_response.body)
|
||||
assert representation.include?('data')
|
||||
assert representation['data'].count == Models.collection_per
|
||||
assert representation.include?('links')
|
||||
assert representation['links'].count > 0
|
||||
end
|
||||
|
||||
def test_implicit_formatter
|
||||
post = Models.model1
|
||||
serializable_resource = serializable(post, adapter: :json_api)
|
||||
|
||||
with_adapter :json_api do
|
||||
get '/grape/render_with_implicit_formatter'
|
||||
def app
|
||||
Grape::Middleware::Globals.new(GrapeTest.new)
|
||||
end
|
||||
|
||||
assert last_response.ok?
|
||||
assert_equal serializable_resource.to_json, last_response.body
|
||||
end
|
||||
def test_formatter_returns_json
|
||||
get '/grape/render'
|
||||
|
||||
def test_implicit_formatter_handles_arrays
|
||||
posts = Models.all
|
||||
serializable_resource = serializable(posts, adapter: :json_api)
|
||||
post = Models.model1
|
||||
serializable_resource = serializable(post)
|
||||
|
||||
with_adapter :json_api do
|
||||
get '/grape/render_array_with_implicit_formatter'
|
||||
assert last_response.ok?
|
||||
assert_equal serializable_resource.to_json, last_response.body
|
||||
end
|
||||
|
||||
assert last_response.ok?
|
||||
assert_equal serializable_resource.to_json, last_response.body
|
||||
ensure
|
||||
Models.reset_all
|
||||
end
|
||||
def test_render_helper_passes_through_options_correctly
|
||||
get '/grape/render_with_json_api'
|
||||
|
||||
def test_implicit_formatter_handles_collections
|
||||
with_adapter :json_api do
|
||||
get '/grape/render_collection_with_implicit_formatter'
|
||||
post = Models.model1
|
||||
serializable_resource = serializable(post, serializer: ARModels::PostSerializer, adapter: :json_api, meta: { page: 1, total_pages: 2 })
|
||||
|
||||
assert last_response.ok?
|
||||
assert_equal serializable_resource.to_json, last_response.body
|
||||
end
|
||||
|
||||
representation = JSON.parse(last_response.body)
|
||||
assert last_response.ok?
|
||||
assert representation.include?('data')
|
||||
assert representation['data'].count == Models.collection_per
|
||||
assert representation.include?('links')
|
||||
assert representation['links'].count > 0
|
||||
def test_formatter_handles_arrays
|
||||
get '/grape/render_array_with_json_api'
|
||||
|
||||
posts = Models.all
|
||||
serializable_resource = serializable(posts, adapter: :json_api)
|
||||
|
||||
assert last_response.ok?
|
||||
assert_equal serializable_resource.to_json, last_response.body
|
||||
ensure
|
||||
Models.reset_all
|
||||
end
|
||||
|
||||
def test_formatter_handles_collections
|
||||
get '/grape/render_collection_with_json_api'
|
||||
assert last_response.ok?
|
||||
|
||||
representation = JSON.parse(last_response.body)
|
||||
assert representation.include?('data')
|
||||
assert representation['data'].count == Models.collection_per
|
||||
assert representation.include?('links')
|
||||
assert representation['links'].count > 0
|
||||
end
|
||||
|
||||
def test_implicit_formatter
|
||||
post = Models.model1
|
||||
serializable_resource = serializable(post, adapter: :json_api)
|
||||
|
||||
with_adapter :json_api do
|
||||
get '/grape/render_with_implicit_formatter'
|
||||
end
|
||||
|
||||
assert last_response.ok?
|
||||
assert_equal serializable_resource.to_json, last_response.body
|
||||
end
|
||||
|
||||
def test_implicit_formatter_handles_arrays
|
||||
posts = Models.all
|
||||
serializable_resource = serializable(posts, adapter: :json_api)
|
||||
|
||||
with_adapter :json_api do
|
||||
get '/grape/render_array_with_implicit_formatter'
|
||||
end
|
||||
|
||||
assert last_response.ok?
|
||||
assert_equal serializable_resource.to_json, last_response.body
|
||||
ensure
|
||||
Models.reset_all
|
||||
end
|
||||
|
||||
def test_implicit_formatter_handles_collections
|
||||
with_adapter :json_api do
|
||||
get '/grape/render_collection_with_implicit_formatter'
|
||||
end
|
||||
|
||||
representation = JSON.parse(last_response.body)
|
||||
assert last_response.ok?
|
||||
assert representation.include?('data')
|
||||
assert representation['data'].count == Models.collection_per
|
||||
assert representation.include?('links')
|
||||
assert representation['links'].count > 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
require 'test_helper'
|
||||
|
||||
class ActiveModelSerializers::LoggerTest < ActiveSupport::TestCase
|
||||
def test_logger_is_set_to_action_controller_logger_when_initializer_runs
|
||||
assert_equal $action_controller_logger, ActionController::Base.logger # rubocop:disable Style/GlobalVars
|
||||
end
|
||||
module ActiveModelSerializers
|
||||
class LoggerTest < ActiveSupport::TestCase
|
||||
def test_logger_is_set_to_action_controller_logger_when_initializer_runs
|
||||
assert_equal $action_controller_logger, ActionController::Base.logger # rubocop:disable Style/GlobalVars
|
||||
end
|
||||
|
||||
def test_logger_can_be_set
|
||||
original_logger = ActiveModelSerializers.logger
|
||||
logger = Logger.new(STDOUT)
|
||||
def test_logger_can_be_set
|
||||
original_logger = ActiveModelSerializers.logger
|
||||
logger = Logger.new(STDOUT)
|
||||
|
||||
ActiveModelSerializers.logger = logger
|
||||
ActiveModelSerializers.logger = logger
|
||||
|
||||
assert_equal ActiveModelSerializers.logger, logger
|
||||
ensure
|
||||
ActiveModelSerializers.logger = original_logger
|
||||
assert_equal ActiveModelSerializers.logger, logger
|
||||
ensure
|
||||
ActiveModelSerializers.logger = original_logger
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -75,6 +75,8 @@ module TestHelpers
|
||||
end
|
||||
end
|
||||
|
||||
class ActiveSupport::TestCase
|
||||
include TestHelpers::Generation
|
||||
module ActiveSupport
|
||||
class TestCase
|
||||
include TestHelpers::Generation
|
||||
end
|
||||
end
|
||||
|
||||
@@ -44,10 +44,12 @@ module SerializationTesting
|
||||
end
|
||||
end
|
||||
|
||||
class Minitest::Test
|
||||
def before_setup
|
||||
ActionController::Base.cache_store.clear
|
||||
end
|
||||
module Minitest
|
||||
class Test
|
||||
def before_setup
|
||||
ActionController::Base.cache_store.clear
|
||||
end
|
||||
|
||||
include SerializationTesting
|
||||
include SerializationTesting
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user