/** * @param FormInterface $form * @param object $entity * @param array|callable $saveAndStayRoute * @param array|callable $saveAndCloseRoute * @param string $saveMessage * @param callback|null $resultCallback * @return array|RedirectResponse */ protected function processSave(FormInterface $form, $entity, $saveAndStayRoute, $saveAndCloseRoute, $saveMessage, $resultCallback = null) { if ($this->request->get('_wid')) { $result = $this->getResult($entity, $form, $resultCallback); $result['savedId'] = $this->doctrineHelper->getSingleEntityIdentifier($entity); return $result; } else { $this->session->getFlashBag()->add('success', $saveMessage); if (is_callable($saveAndStayRoute)) { $saveAndStayRoute = call_user_func($saveAndStayRoute, $entity); } if (is_callable($saveAndCloseRoute)) { $saveAndCloseRoute = call_user_func($saveAndCloseRoute, $entity); } return $this->router->redirectAfterSave($saveAndStayRoute, $saveAndCloseRoute, $entity); } }
public function testWrongParametersRedirectAfterSave() { $this->setExpectedException('\\InvalidArgumentException'); $this->router->redirectAfterSave(array(), array()); }