/**
  * @return \Symfony\Component\HttpFoundation\Response
  * @Route("/edit/{id}", name="unit_edit")
  * @Method({"GET", "POST"})
  * @ParamConverter("post", class="AppBundle:Unit")
  *
  * @param Request $request
  * @param Unit $unit
  * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
  */
 public function editAction(Request $request, Unit $unit)
 {
     $form = $this->createForm('AppBundle\\Form\\Type\\UnitType', $unit);
     $form->handleRequest($request);
     if ($form->isSubmitted() && $form->isValid()) {
         /** @var Unit $unit */
         $unit = $form->getData();
         $editRequest = new EditUnitRequest($unit->getId(), $unit->getName(), $unit->getShortcut());
         $this->editUnitUseCase->execute($editRequest);
         return $this->redirectToRoute('unit_list', array('id' => $unit->getId()));
     }
     return $this->render('AppBundle:Unit:edit.html.twig', array('form' => $form->createView()));
 }
 /**
  * @When I edit unit :arg1 with new name :arg2 and :arg3 shortcut
  */
 public function iEditUnitWithNewNameAndShortcut($unitName, $newName, $newShortcut)
 {
     /** @var UnitListItem[] $units */
     $units = array_filter($this->unitsList, function (UnitListItem $unitListItem) use($unitName) {
         return $unitListItem->name == $unitName;
     });
     $unitId = null;
     if (count($units)) {
         $unitId = $units[0]->id;
     }
     $this->editUnitUseCase->execute(new EditUnitRequest($unitId, $newName, $newShortcut));
 }