Skip to content

Commit e683bbf

Browse files
Erolshishirmk
authored andcommitted
Update spec with included documents with no explicitly given fields
1 parent a363c90 commit e683bbf

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

spec/lib/object_serializer_fields_spec.rb

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
let(:fields) do
77
{
8-
movie: %i[name actors],
8+
movie: %i[name actors advertising_campaign],
99
actor: %i[name agency]
1010
}
1111
end
@@ -19,7 +19,7 @@
1919
it 'only returns specified relationships' do
2020
hash = MovieSerializer.new(movie, fields: fields).serializable_hash
2121

22-
expect(hash[:data][:relationships].keys.sort).to eq %i[actors]
22+
expect(hash[:data][:relationships].keys.sort).to eq %i[actors advertising_campaign]
2323
end
2424

2525
it 'only returns specified fields for included relationships' do
@@ -29,8 +29,20 @@
2929
end
3030

3131
it 'only returns specified relationships for included relationships' do
32-
hash = MovieSerializer.new(movie, fields: fields, include: %i[actors]).serializable_hash
32+
hash = MovieSerializer.new(movie, fields: fields, include: %i[actors advertising_campaign]).serializable_hash
3333

3434
expect(hash[:included].first[:relationships].keys.sort).to eq %i[agency]
3535
end
36+
37+
it 'returns all fields for included relationships when no explicit fields have been specified' do
38+
hash = MovieSerializer.new(movie, fields: fields, include: %i[actors advertising_campaign]).serializable_hash
39+
40+
expect(hash[:included][3][:attributes].keys.sort).to eq %i[id name]
41+
end
42+
43+
it 'returns all fields for included relationships when no explicit fields have been specified' do
44+
hash = MovieSerializer.new(movie, fields: fields, include: %i[actors advertising_campaign]).serializable_hash
45+
46+
expect(hash[:included][3][:relationships].keys.sort).to eq %i[movie]
47+
end
3648
end

0 commit comments

Comments
 (0)