/**
  * Allow the user to delete a feed, one at a time.
  *
  * @return ViewModel
  */
 public function deleteAction()
 {
     $formManager = $this->serviceLocator->get('FormElementManager');
     $form = $formManager->get('BabyMonitor\\Forms\\DeleteForm');
     $form->setData(array('feedId' => (int) $this->params()->fromRoute('id')));
     if (!$this->_feedTable->fetchById((int) $this->params()->fromRoute('id'))) {
         $this->flashMessenger()->addErrorMessage("Unable to find that feed. Perhaps you meant a different one?");
         return $this->redirect()->toRoute(self::DEFAULT_ROUTE, array());
     }
     if ($this->getRequest()->isPost()) {
         $form->setData($this->getRequest()->getPost());
         if ($form->isValid()) {
             if ($this->_feedTable->delete($form->getInputFilter()->getValue('feedId'))) {
                 if (!is_null($this->_cache)) {
                     $this->_cache->removeItem(self::KEY_ALL_RESULTS);
                 }
                 $feed = new FeedModel();
                 $feed->exchangeArray($form->getData());
                 // trigger the deleted event
                 $this->getEventManager()->trigger('Feed.Delete', $this, array('feedData' => $feed));
                 $this->flashMessenger()->addInfoMessage("Feed Deleted.");
                 return $this->redirect()->toRoute(self::DEFAULT_ROUTE, array());
             }
         }
     }
     return new ViewModel(array('form' => $form));
 }
 public function testCanDeleteById()
 {
     $feedId = 21;
     $mockTableGateway = \Mockery::mock('Zend\\Db\\TableGateway\\TableGateway');
     $mockTableGateway->shouldReceive('delete')->with(array('feedId' => $feedId))->andReturn(1);
     $mockFeedTable = new FeedTable($mockTableGateway);
     $this->assertEquals(true, $mockFeedTable->delete($feedId));
 }