active_model_serializers/test/array_serializer_test.rb
2015-11-08 23:12:56 -06:00

39 lines
1.1 KiB
Ruby

require 'test_helper'
require_relative 'collection_serializer_test'
module ActiveModel
class Serializer
# Minitest.run_one_method isn't present in minitest 4
if $minitest_version > 4 # rubocop:disable Style/GlobalVars
class ArraySerializerTest < CollectionSerializerTest
extend ActiveSupport::Testing::Stream
def self.run_one_method(*)
stderr = (capture(:stderr) do
super
end)
if stderr !~ /Calling deprecated ArraySerializer/
fail Minitest::Assertion, stderr
end
end
def collection_serializer
ArraySerializer
end
end
else
class ArraySerializerTest < Minitest::Test
extend ActiveSupport::Testing::Stream
def test_json_key_with_root_warns_when_using_array_serializer
stderr = (capture(:stderr) do
comment = Comment.new
post = Post.new
serializer = ArraySerializer.new([comment, post])
assert_equal serializer.json_key, 'comments'
end)
assert_match(/Calling deprecated ArraySerializer/, stderr)
end
end
end
end
end