|
195 | 195 | describe '#set_id' do |
196 | 196 | subject(:serializable_hash) { MovieSerializer.new(resource).serializable_hash } |
197 | 197 |
|
198 | | - before do |
199 | | - MovieSerializer.set_id :owner_id |
200 | | - end |
| 198 | + context 'method name' do |
| 199 | + before do |
| 200 | + MovieSerializer.set_id :owner_id |
| 201 | + end |
201 | 202 |
|
202 | | - after do |
203 | | - MovieSerializer.set_id nil |
204 | | - end |
| 203 | + after do |
| 204 | + MovieSerializer.set_id nil |
| 205 | + end |
| 206 | + |
| 207 | + context 'when one record is given' do |
| 208 | + let(:resource) { movie } |
| 209 | + |
| 210 | + it 'returns correct hash which id equals owner_id' do |
| 211 | + expect(serializable_hash[:data][:id].to_i).to eq movie.owner_id |
| 212 | + end |
| 213 | + end |
205 | 214 |
|
206 | | - context 'when one record is given' do |
207 | | - let(:resource) { movie } |
| 215 | + context 'when an array of records is given' do |
| 216 | + let(:resource) { [movie, movie] } |
208 | 217 |
|
209 | | - it 'returns correct hash which id equals owner_id' do |
210 | | - expect(serializable_hash[:data][:id].to_i).to eq movie.owner_id |
| 218 | + it 'returns correct hash which id equals owner_id' do |
| 219 | + expect(serializable_hash[:data][0][:id].to_i).to eq movie.owner_id |
| 220 | + expect(serializable_hash[:data][1][:id].to_i).to eq movie.owner_id |
| 221 | + end |
211 | 222 | end |
212 | 223 | end |
213 | 224 |
|
214 | | - context 'when an array of records is given' do |
215 | | - let(:resource) { [movie, movie] } |
| 225 | + context 'with block' do |
| 226 | + before do |
| 227 | + MovieSerializer.set_id { |record| "movie-#{record.owner_id}" } |
| 228 | + end |
| 229 | + |
| 230 | + after do |
| 231 | + MovieSerializer.set_id nil |
| 232 | + end |
216 | 233 |
|
217 | | - it 'returns correct hash which id equals owner_id' do |
218 | | - expect(serializable_hash[:data][0][:id].to_i).to eq movie.owner_id |
219 | | - expect(serializable_hash[:data][1][:id].to_i).to eq movie.owner_id |
| 234 | + context 'when one record is given' do |
| 235 | + let(:resource) { movie } |
| 236 | + |
| 237 | + it 'returns correct hash which id equals movie-id' do |
| 238 | + expect(serializable_hash[:data][:id]).to eq "movie-#{movie.owner_id}" |
| 239 | + end |
| 240 | + end |
| 241 | + |
| 242 | + context 'when an array of records is given' do |
| 243 | + let(:resource) { [movie, movie] } |
| 244 | + |
| 245 | + it 'returns correct hash which id equals movie-id' do |
| 246 | + expect(serializable_hash[:data][0][:id]).to eq "movie-#{movie.owner_id}" |
| 247 | + expect(serializable_hash[:data][1][:id]).to eq "movie-#{movie.owner_id}" |
| 248 | + end |
220 | 249 | end |
221 | 250 | end |
222 | 251 | end |
|
0 commit comments