Update spec with included documents with no explicitly given fields

This commit is contained in:
Erol 2018-07-16 17:59:54 +08:00 committed by Shishir Kakaraddi
parent 7b44620018
commit d427a157ee

View File

@ -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