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); }
/** * @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); }