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