From d427a157eeefa41634125b6e0865196a1359d3a3 Mon Sep 17 00:00:00 2001 From: Erol Date: Mon, 16 Jul 2018 17:59:54 +0800 Subject: [PATCH] Update spec with included documents with no explicitly given fields --- spec/lib/object_serializer_fields_spec.rb | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/spec/lib/object_serializer_fields_spec.rb b/spec/lib/object_serializer_fields_spec.rb index f44ab2e..913ba83 100644 --- a/spec/lib/object_serializer_fields_spec.rb +++ b/spec/lib/object_serializer_fields_spec.rb @@ -5,7 +5,7 @@ describe FastJsonapi::ObjectSerializer do let(:fields) do { - movie: %i[name actors], + movie: %i[name actors advertising_campaign], actor: %i[name agency] } end @@ -19,7 +19,7 @@ describe FastJsonapi::ObjectSerializer do it 'only returns specified relationships' do hash = MovieSerializer.new(movie, fields: fields).serializable_hash - expect(hash[:data][:relationships].keys.sort).to eq %i[actors] + expect(hash[:data][:relationships].keys.sort).to eq %i[actors advertising_campaign] end it 'only returns specified fields for included relationships' do @@ -29,8 +29,20 @@ describe FastJsonapi::ObjectSerializer do end it 'only returns specified relationships for included relationships' do - hash = MovieSerializer.new(movie, fields: fields, include: %i[actors]).serializable_hash + hash = MovieSerializer.new(movie, fields: fields, include: %i[actors advertising_campaign]).serializable_hash expect(hash[:included].first[:relationships].keys.sort).to eq %i[agency] end + + it 'returns all fields for included relationships when no explicit fields have been specified' do + hash = MovieSerializer.new(movie, fields: fields, include: %i[actors advertising_campaign]).serializable_hash + + expect(hash[:included][3][:attributes].keys.sort).to eq %i[id name] + end + + it 'returns all fields for included relationships when no explicit fields have been specified' do + hash = MovieSerializer.new(movie, fields: fields, include: %i[actors advertising_campaign]).serializable_hash + + expect(hash[:included][3][:relationships].keys.sort).to eq %i[movie] + end end