protected function assertRequestChangeStatus()
 {
     $requestStatusEntity = new RequestStatus();
     $requestStatusEntity->setLabel('StatusLabel');
     $status = $this->getMock('Symfony\\Component\\Form\\FormInterface');
     $status->expects($this->once())->method('getData')->will($this->returnValue($requestStatusEntity));
     $note = $this->getMock('Symfony\\Component\\Form\\FormInterface');
     $note->expects($this->once())->method('getData')->will($this->returnValue('note'));
     $this->form->expects($this->exactly(2))->method('get')->with($this->logicalOr($this->equalTo('status'), $this->equalTo('note')))->will($this->returnCallback(function ($param) use($status, $note) {
         $data = null;
         switch ($param) {
             case 'status':
                 $data = $status;
                 break;
             case 'note':
                 $data = $note;
                 break;
             default:
                 break;
         }
         return $data;
     }));
     $this->form->expects($this->once())->method('submit')->with($this->request);
     $this->templating->expects($this->once())->method('render')->with('OroB2BRFPBundle:Request:note.html.twig', ['status' => $requestStatusEntity->getLabel(), 'note' => 'note'])->will($this->returnValue('message'));
 }
 /**
  * @dataProvider serializerEnableMaxDepthChecksProvider
  */
 public function testSerializerEnableMaxDepthChecks($enableMaxDepthChecks, $expectedMaxDepth)
 {
     $this->createViewResponseListener(['json' => true]);
     $viewAnnotation = new ViewAnnotation([]);
     $viewAnnotation->setSerializerEnableMaxDepthChecks($enableMaxDepthChecks);
     $request = new Request();
     $request->setRequestFormat('json');
     $request->attributes->set('_view', $viewAnnotation);
     $this->templating->expects($this->any())->method('render')->will($this->returnValue('foo'));
     $view = new View();
     $event = $this->getResponseEvent($request, $view);
     $this->listener->onKernelView($event);
     $context = $view->getSerializationContext();
     $maxDepth = $context->getMaxDepth();
     $this->assertEquals($expectedMaxDepth, $maxDepth);
 }
 /**
  * @dataProvider serializerEnableMaxDepthChecksProvider
  */
 public function testSerializerEnableMaxDepthChecks($enableMaxDepthChecks, $expectedMaxDepth)
 {
     $viewAnnotation = new ViewAnnotation([]);
     $viewAnnotation->setSerializerEnableMaxDepthChecks($enableMaxDepthChecks);
     $request = new Request();
     $request->setRequestFormat('json');
     $request->attributes->set('_view', $viewAnnotation);
     $this->viewHandler = new ViewHandler(['json' => true]);
     $this->viewHandler->setContainer($this->container);
     // This is why we avoid container dependencies!
     $that = $this;
     $this->container->expects($this->exactly(2))->method('get')->with($this->logicalOr('fos_rest.view_handler', 'fos_rest.templating'))->will($this->returnCallback(function ($service) use($that) {
         return $service === 'fos_rest.view_handler' ? $that->viewHandler : $that->templating;
     }));
     $this->templating->expects($this->any())->method('render')->will($this->returnValue('foo'));
     $view = new View();
     $event = $this->getResponseEvent($request, $view);
     $this->listener->onKernelView($event);
     $context = $view->getSerializationContext();
     $maxDepth = $context->getMaxDepth();
     $this->assertEquals($expectedMaxDepth, $maxDepth);
 }