test/unit/serializer/serializer_test.rb in jsonapi-resources-0.0.12 vs test/unit/serializer/serializer_test.rb in jsonapi-resources-0.0.13

- old
+ new

@@ -7,12 +7,18 @@ def setup @post = Post.find(1) @fred = Person.find_by(name: 'Fred Reader') @expense_entry = ExpenseEntry.find(1) + + JSONAPI.configuration.json_key_format = :camelized_key end + def after_teardown + JSONAPI.configuration.json_key_format = :underscored_key + end + def test_serializer assert_hash_equals( { posts: { @@ -26,11 +32,11 @@ tags: [1, 2, 3], comments: [1, 2] } } }, - JSONAPI::ResourceSerializer.new.serialize_to_hash( + JSONAPI::ResourceSerializer.new(PostResource).serialize_to_hash( PostResource.new(@post))) end def test_serializer_limited_fieldset @@ -42,11 +48,11 @@ links: { author: 1 } } }, - JSONAPI::ResourceSerializer.new.serialize_to_hash( + JSONAPI::ResourceSerializer.new(PostResource).serialize_to_hash( PostResource.new(@post), fields: {posts: [:id, :title, :author]})) end def test_serializer_include @@ -76,11 +82,11 @@ posts: [1, 2, 11] } }] } }, - JSONAPI::ResourceSerializer.new.serialize_to_hash( + JSONAPI::ResourceSerializer.new(PostResource).serialize_to_hash( PostResource.new(@post), include: [:author])) end def test_serializer_key_format @@ -109,11 +115,11 @@ posts: [1, 2, 11] } }] } }, - JSONAPI::ResourceSerializer.new.serialize_to_hash( + JSONAPI::ResourceSerializer.new(PostResource).serialize_to_hash( PostResource.new(@post), include: [:author], key_formatter: UnderscoredKeyFormatter)) end @@ -177,11 +183,11 @@ } } ] } }, - JSONAPI::ResourceSerializer.new.serialize_to_hash( + JSONAPI::ResourceSerializer.new(PostResource).serialize_to_hash( PostResource.new(@post), include: [:comments, 'comments.tags'])) end def test_serializer_include_has_many_sub_objects_only @@ -223,11 +229,11 @@ } } ] } }, - JSONAPI::ResourceSerializer.new.serialize_to_hash( + JSONAPI::ResourceSerializer.new(PostResource).serialize_to_hash( PostResource.new(@post), include: ['comments.tags'])) end def test_serializer_include_has_one_sub_objects_only @@ -257,11 +263,11 @@ } } ] } }, - JSONAPI::ResourceSerializer.new.serialize_to_hash( + JSONAPI::ResourceSerializer.new(PostResource).serialize_to_hash( PostResource.new(@post), include: ['author.comments'])) end def test_serializer_different_foreign_key @@ -297,11 +303,11 @@ } } ] } }, - JSONAPI::ResourceSerializer.new.serialize_to_hash( + JSONAPI::ResourceSerializer.new(PersonResource).serialize_to_hash( PersonResource.new(@fred), include: ['comments'])) end def test_serializer_array_of_resources @@ -396,11 +402,11 @@ } } ] } }, - JSONAPI::ResourceSerializer.new.serialize_to_hash( + JSONAPI::ResourceSerializer.new(PostResource).serialize_to_hash( posts, include: ['comments', 'comments.tags'])) end def test_serializer_array_of_resources_limited_fields @@ -480,11 +486,11 @@ comments: [1] } }] } }, - JSONAPI::ResourceSerializer.new.serialize_to_hash( + JSONAPI::ResourceSerializer.new(PostResource).serialize_to_hash( posts, include: ['comments', 'author', 'comments.tags', 'author.posts'], fields: { people: [:id, :email, :comments], posts: [:id, :title, :author], @@ -518,20 +524,21 @@ email: 'lazy@xyz.fake', dateJoined: '2013-10-31 17:25:00 -0400', }] } }, - JSONAPI::ResourceSerializer.new.serialize_to_hash( + JSONAPI::ResourceSerializer.new(ExpenseEntryResource).serialize_to_hash( ExpenseEntryResource.new(@expense_entry), include: ['iso_currency', 'employee'], fields: {people: [:id, :name, :email, :date_joined]} ) ) end def test_serializer_empty_links_null_and_array - planet_hash = JSONAPI::ResourceSerializer.new.serialize_to_hash(PlanetResource.new(Planet.find(8))) + planet_hash = JSONAPI::ResourceSerializer.new(PlanetResource).serialize_to_hash( + PlanetResource.new(Planet.find(8))) assert_hash_equals( { planets: { id: 8, @@ -554,10 +561,10 @@ planets = [] Planet.find(7, 8).each do |planet| planets.push PlanetResource.new(planet) end - planet_hash = JSONAPI::ResourceSerializer.new.serialize_to_hash( + planet_hash = JSONAPI::ResourceSerializer.new(PlanetResource).serialize_to_hash( planets, include: ['planet_type'], fields: { planet_types: [:id, :name] } )