/** * {@inheritdoc} */ public function handle(RequestConfiguration $requestConfiguration, View $view) { if (!$requestConfiguration->isHtmlRequest()) { $this->restViewHandler->setExclusionStrategyGroups($requestConfiguration->getSerializationGroups()); if ($version = $requestConfiguration->getSerializationVersion()) { $this->restViewHandler->setExclusionStrategyVersion($version); } $view->getSerializationContext()->enableMaxDepthChecks(); } return $this->restViewHandler->handle($view); }
function it_sets_proper_values_for_non_html_requests(RequestConfiguration $requestConfiguration, RestViewHandler $restViewHandler, Response $response) { $requestConfiguration->isHtmlRequest()->willReturn(false); $view = View::create(); $view->setSerializationContext(new SerializationContext()); $requestConfiguration->getSerializationGroups()->willReturn(['Detailed']); $requestConfiguration->getSerializationVersion()->willReturn('2.0.0'); $restViewHandler->setExclusionStrategyGroups(['Detailed'])->shouldBeCalled(); $restViewHandler->setExclusionStrategyVersion('2.0.0')->shouldBeCalled(); $restViewHandler->handle($view)->willReturn($response); $this->handle($requestConfiguration, $view)->shouldReturn($response); }
public function testConfigurableViewHandlerInterface() { //test $viewHandler = new ViewHandler(); $viewHandler->setExclusionStrategyGroups('bar'); $viewHandler->setExclusionStrategyVersion('1.1'); $viewHandler->setSerializeNullStrategy(true); $contextMethod = new \ReflectionMethod($viewHandler, 'getSerializationContext'); $contextMethod->setAccessible(true); $view = new View(); $context = $contextMethod->invoke($viewHandler, $view); $this->assertEquals(array('bar'), $context->attributes->get('groups')->getOrThrow(new \Exception('Serialization groups not set as expected'))); $this->assertEquals('1.1', $context->attributes->get('version')->getOrThrow(new \Exception('Serialization version not set as expected'))); $this->assertTrue($context->shouldSerializeNull()); }
public function testConfigurableViewHandlerInterface() { //test $viewHandler = new ViewHandler(); $viewHandler->setSerializationContextAdapter($this->getMock('FOS\\RestBundle\\Context\\Adapter\\SerializationContextAdapterInterface')); $viewHandler->setExclusionStrategyGroups('bar'); $viewHandler->setExclusionStrategyVersion('1.1'); $viewHandler->setSerializeNullStrategy(true); $contextMethod = new \ReflectionMethod($viewHandler, 'getSerializationContext'); $contextMethod->setAccessible(true); $view = new View(); $context = $contextMethod->invoke($viewHandler, $view); $this->assertEquals(array('bar'), $context->getGroups()); $this->assertEquals('1.1', $context->getVersion()); $this->assertTrue($context->getSerializeNull()); }