public function testRetrieveCollectionPost() { $collectionDataProvider = $this->prophesize(CollectionDataProviderInterface::class); $collectionDataProvider->getCollection()->shouldNotBeCalled(); $itemDataProvider = $this->prophesize(ItemDataProviderInterface::class); $itemDataProvider->getItem()->shouldNotBeCalled(); $request = new Request([], [], ['_api_resource_class' => 'Foo', '_api_collection_operation_name' => 'post', '_api_format' => 'json', '_api_mime_type' => 'application/json'], [], [], [], '{}'); $request->setMethod(Request::METHOD_POST); $event = $this->prophesize(GetResponseEvent::class); $event->getRequest()->willReturn($request)->shouldBeCalled(); $listener = new ReadListener($collectionDataProvider->reveal(), $itemDataProvider->reveal()); $listener->onKernelRequest($event->reveal()); $this->assertTrue($request->attributes->has('data')); $this->assertNull($request->attributes->get('data')); }