function it_should_handle_display_action(DisplayElement $element, Request $request, Response $response, ContextManager $contextManager, ContextInterface $context, EngineInterface $templating)
 {
     $contextManager->createContext('fsi_admin_translatable_display', $element)->willReturn($context);
     $context->handleRequest($request)->shouldBeCalled();
     $context->hasTemplateName()->willReturn(false);
     $context->getData()->willReturn(array(1, 2, 3));
     $templating->renderResponse('@FSiAdmin/Display/display.html.twig', array(1, 2, 3))->willReturn($response);
     $this->displayAction($element, $request)->shouldReturn($response);
 }
示例#2
0
 /**
  * @param \FSi\Bundle\AdminBundle\Admin\Element $element
  * @param \Symfony\Component\HttpFoundation\Request $request
  * @param string $route
  * @return null|\Symfony\Component\HttpFoundation\Response
  */
 protected function handleRequest(Element $element, Request $request, $route)
 {
     $context = $this->contextManager->createContext($route, $element);
     if (!$context instanceof ContextInterface) {
         throw new NotFoundHttpException(sprintf('Cant find context builder that supports element with id "%s"', $element->getId()));
     }
     if (($response = $context->handleRequest($request)) !== null) {
         return $response;
     }
     if (!isset($this->template) && !$context->hasTemplateName()) {
         throw new ContextException(sprintf("Context %s did not returned any response and controller %s has no template", get_class($context), __CLASS__));
     }
     return $this->templating->renderResponse($context->hasTemplateName() ? $context->getTemplateName() : $this->template, $context->getData());
 }
 function it_should_handle_batch_action(BatchElement $element, Request $request, Response $response, ContextManager $contextManager, ContextInterface $context)
 {
     $contextManager->createContext('fsi_admin_translatable_batch', $element)->willReturn($context);
     $context->handleRequest($request)->willReturn($response);
     $this->batchAction($element, $request)->shouldReturn($response);
 }
 /**
  * @param \FSi\Bundle\AdminBundle\Admin\Context\ContextManager $manager
  * @param \FSi\Bundle\AdminBundle\Admin\Display\Element $element
  * @param \FSi\Bundle\AdminBundle\Admin\Display\Context\DisplayContext $context
  * @param \Symfony\Component\HttpFoundation\Request $request
  * @param \Symfony\Component\HttpFoundation\Response $response
  */
 function it_return_response_from_context_in_display_action($manager, $element, $context, $request, $response)
 {
     $manager->createContext('fsi_admin_display', $element)->willReturn($context);
     $context->handleRequest($request)->willReturn($response);
     $this->displayAction($element, $request)->shouldReturn($response);
 }