@@ -277,4 +277,33 @@ public function testOnKernelViewInvalidIdentifiers(): void
277
277
278
278
(new WriteListener ($ this ->processorProphecy ->reveal (), $ this ->iriConverterProphecy ->reveal (), $ this ->resourceClassResolver ->reveal (), $ this ->resourceMetadataCollectionFactory ->reveal ()))->onKernelView ($ event );
279
279
}
280
+
281
+ public function testHasOriginalData (): void
282
+ {
283
+ $ operationResource = new OperationResource (1 , 'foo ' );
284
+
285
+ $ this ->resourceClassResolver ->isResourceClass (Argument::type ('string ' ))->willReturn (true );
286
+ $ this ->processorProphecy ->process ($ operationResource , Argument::type (Operation::class), [], Argument::type ('array ' ))->willReturn ($ operationResource )->shouldBeCalled ();
287
+
288
+ $ operationResourceMetadata = new ResourceMetadataCollection (OperationResource::class, [(new ApiResource ())->withOperations (new Operations ([
289
+ '_api_OperationResource_post_collection ' => (new Post ())->withName ('_api_OperationResource_post_collection ' ),
290
+ ]))]);
291
+
292
+ $ this ->resourceMetadataCollectionFactory ->create (OperationResource::class)->willReturn ($ operationResourceMetadata );
293
+
294
+ $ request = new Request ([], [], ['_api_resource_class ' => OperationResource::class]);
295
+
296
+ $ event = new ViewEvent (
297
+ $ this ->prophesize (HttpKernelInterface::class)->reveal (),
298
+ $ request ,
299
+ \defined (HttpKernelInterface::class.'::MAIN_REQUEST ' ) ? HttpKernelInterface::MAIN_REQUEST : HttpKernelInterface::MASTER_REQUEST ,
300
+ $ operationResource
301
+ );
302
+
303
+ $ request ->setMethod ('POST ' );
304
+ $ request ->attributes ->set ('_api_operation_name ' , sprintf ('_api_%s_%s%s ' , 'OperationResource ' , 'post ' , '_collection ' ));
305
+
306
+ (new WriteListener ($ this ->processorProphecy ->reveal (), null , $ this ->resourceClassResolver ->reveal (), $ this ->resourceMetadataCollectionFactory ->reveal ()))->onKernelView ($ event );
307
+ $ this ->assertEquals ($ operationResource , $ request ->attributes ->get ('original_data ' ));
308
+ }
280
309
}
0 commit comments