Sha256: 65ec43b3467ac163d9dee0108c6e7034a971441bcccc26dc37a0d00c893ee347
Contents?: true
Size: 1.64 KB
Versions: 2
Compression:
Stored size: 1.64 KB
Contents
require "test_helper" require "test_fakes" class ArraySerializerTest < ActiveModel::TestCase # serialize different typed objects def test_array_serializer model = Model.new user = User.new comments = Comment.new(:title => "Comment1", :id => 1) array = [model, user, comments] serializer = array.active_model_serializer.new(array, :scope => {:scope => true}) assert_equal([ { :model => "Model" }, { :last_name => "Valim", :ok => true, :first_name => "Jose", :scope => true }, { :title => "Comment1" } ], serializer.as_json) end def test_array_serializer_with_root comment1 = Comment.new(:title => "Comment1", :id => 1) comment2 = Comment.new(:title => "Comment2", :id => 2) array = [ comment1, comment2 ] serializer = array.active_model_serializer.new(array, :root => :comments) assert_equal({ :comments => [ { :title => "Comment1" }, { :title => "Comment2" } ]}, serializer.as_json) end def test_array_serializer_with_hash hash = {:value => "something"} array = [hash] serializer = array.active_model_serializer.new(array, :root => :items) assert_equal({ :items => [ hash.as_json ]}, serializer.as_json) end def test_array_serializer_with_specified_seriailizer post1 = Post.new(:title => "Post1", :author => "Author1", :id => 1) post2 = Post.new(:title => "Post2", :author => "Author2", :id => 2) array = [ post1, post2 ] serializer = array.active_model_serializer.new array, :each_serializer => CustomPostSerializer assert_equal([ { :title => "Post1" }, { :title => "Post2" } ], serializer.as_json) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
active_model_serializers-0.8.1 | test/array_serializer_test.rb |
active_model_serializers-0.8.0 | test/array_serializer_test.rb |