Skip to content

Commit 4077a23

Browse files
sdsd08013shishirmk
authored andcommitted
pass array of unique movies to serializer
1 parent 9f0608d commit 4077a23

File tree

6 files changed

+22
-14
lines changed

6 files changed

+22
-14
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ options[:links] = {
302302
prev: '...'
303303
}
304304
options[:include] = [:actors, :'actors.agency', :'actors.agency.state']
305-
MovieSerializer.new([movie, movie], options).serialized_json
305+
MovieSerializer.new(movies, options).serialized_json
306306
```
307307

308308
### Collection Serialization
@@ -314,7 +314,7 @@ options[:links] = {
314314
next: '...',
315315
prev: '...'
316316
}
317-
hash = MovieSerializer.new([movie, movie], options).serializable_hash
317+
hash = MovieSerializer.new(movies, options).serializable_hash
318318
json_string = MovieSerializer.new([movie, movie], options).serialized_json
319319
```
320320

spec/lib/instrumentation/as_notifications_negative_spec.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
options[:meta] = { total: 2 }
1111
options[:include] = [:actors]
1212

13-
@serializer = MovieSerializer.new([movie, movie], options)
13+
movies = build_movies(2)
14+
@serializer = MovieSerializer.new(movies, options)
1415
end
1516

1617
context 'serializable_hash' do

spec/lib/instrumentation/as_notifications_spec.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
options[:meta] = { total: 2 }
2525
options[:include] = [:actors]
2626

27-
@serializer = MovieSerializer.new([movie, movie], options)
27+
movies = build_movies(2)
28+
@serializer = MovieSerializer.new(movies, options)
2829
end
2930

3031
context 'serializable_hash' do

spec/lib/object_serializer_caching_spec.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
options[:links] = { self: 'self' }
1717

1818
options[:include] = [:actors]
19-
serializable_hash = CachingMovieSerializer.new([movie, movie], options).serializable_hash
19+
movies = build_movies(2)
20+
serializable_hash = CachingMovieSerializer.new(movies, options).serializable_hash
2021

2122
expect(serializable_hash[:data].length).to eq 2
2223
expect(serializable_hash[:data][0][:relationships].length).to eq 3

spec/lib/object_serializer_class_methods_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@
213213
end
214214

215215
context 'when an array of records is given' do
216-
let(:resource) { [movie, movie] }
216+
let(:resource) { build_movies(2) }
217217

218218
it 'returns correct hash which id equals owner_id' do
219219
expect(serializable_hash[:data][0][:id].to_i).to eq movie.owner_id
@@ -240,7 +240,7 @@
240240
end
241241

242242
context 'when an array of records is given' do
243-
let(:resource) { [movie, movie] }
243+
let(:resource) { build_movies(2) }
244244

245245
it 'returns correct hash which id equals movie-id' do
246246
expect(serializable_hash[:data][0][:id]).to eq "movie-#{movie.owner_id}"
@@ -403,7 +403,7 @@ def year_since_release_calculator(release_year)
403403
end
404404

405405
describe '#key_transform' do
406-
subject(:hash) { movie_serializer_class.new([movie, movie], include: [:movie_type]).serializable_hash }
406+
subject(:hash) { movie_serializer_class.new(build_movies(2), include: [:movie_type]).serializable_hash }
407407

408408
let(:movie_serializer_class) { "#{key_transform}_movie_serializer".classify.constantize }
409409

spec/lib/object_serializer_spec.rb

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
options[:meta] = { total: 2 }
1111
options[:links] = { self: 'self' }
1212
options[:include] = [:actors]
13-
serializable_hash = MovieSerializer.new([movie, movie], options).serializable_hash
13+
movies = build_movies(2)
14+
serializable_hash = MovieSerializer.new(movies, options).serializable_hash
1415

1516
expect(serializable_hash[:data].length).to eq 2
1617
expect(serializable_hash[:data][0][:relationships].length).to eq 4
@@ -58,7 +59,8 @@
5859
it 'returns correct number of records when serialized_json is called for an array' do
5960
options = {}
6061
options[:meta] = { total: 2 }
61-
json = MovieSerializer.new([movie, movie], options).serialized_json
62+
movies = build_movies(2)
63+
json = MovieSerializer.new(movies, options).serialized_json
6264
serializable_hash = JSON.parse(json)
6365
expect(serializable_hash['data'].length).to eq 2
6466
expect(serializable_hash['meta']).to be_instance_of(Hash)
@@ -124,7 +126,8 @@
124126
end
125127

126128
it 'returns multiple records' do
127-
json_hash = MovieSerializer.new([movie, movie]).as_json
129+
movies = build_movies(2)
130+
json_hash = MovieSerializer.new(movies).as_json
128131
expect(json_hash['data'].length).to eq 2
129132
end
130133

@@ -139,7 +142,8 @@
139142
options = {}
140143
options[:meta] = { total: 2 }
141144
options[:include] = [:blah_blah]
142-
expect { MovieSerializer.new([movie, movie], options).serializable_hash }.to raise_error(ArgumentError)
145+
movies = build_movies(2)
146+
expect { MovieSerializer.new(movies, options).serializable_hash }.to raise_error(ArgumentError)
143147
end
144148

145149
it 'returns errors when serializing with non-existent and existent includes keys' do
@@ -165,9 +169,10 @@
165169
options = {}
166170
options[:meta] = { total: 2 }
167171
options[:include] = ['']
168-
expect(MovieSerializer.new([movie, movie], options).serializable_hash.keys).to eq [:data, :meta]
172+
movies = build_movies(2)
173+
expect(MovieSerializer.new(movies, options).serializable_hash.keys).to eq [:data, :meta]
169174
options[:include] = [nil]
170-
expect(MovieSerializer.new([movie, movie], options).serializable_hash.keys).to eq [:data, :meta]
175+
expect(MovieSerializer.new(movies, options).serializable_hash.keys).to eq [:data, :meta]
171176
end
172177
end
173178

0 commit comments

Comments
 (0)