/** * test validation */ public function testValidation() { $newfeed = array('name' => 'Tobis Blog', 'url' => 'http://blog.aditu.de/feed', 'category' => '1', 'priority' => '3', 'favicon' => '', 'filter' => '', 'source' => 'plugins_rss_feed'); // invalid name $testfeed = array_merge($newfeed, array('name' => '')); $this->assertTrue(is_array($this->model->add($testfeed))); $testfeed = $newfeed; unset($testfeed['name']); $this->assertTrue(is_array($this->model->add($testfeed))); // invalid url $testfeed = array_merge($newfeed, array('url' => 'http://www.n-tv.de/wirtschaft/rss')); $this->assertTrue(is_array($this->model->add($testfeed))); // url optional => no error $testfeed = array_merge($newfeed, array('source' => 'plugins_images_visualizeus', 'url' => '')); $id = $this->model->add($testfeed); $this->assertTrue(is_numeric($id)); $this->assertGreaterThan(0, $id); $this->model->remove($id); // url not optional => error $testfeed = array_merge($newfeed, array('url' => '')); $this->assertTrue(is_array($this->model->add($testfeed))); $testfeed = $newfeed; unset($testfeed['url']); $this->assertTrue(is_array($this->model->add($testfeed))); // invalid category $testfeed = array_merge($newfeed, array('category' => 'abc')); $this->assertTrue(is_array($this->model->add($testfeed))); $testfeed = array_merge($newfeed, array('category' => '222')); $this->assertTrue(is_array($this->model->add($testfeed))); // invalid priority $testfeed = array_merge($newfeed, array('priority' => 'abc')); $this->assertTrue(is_array($this->model->add($testfeed))); $testfeed = $newfeed; unset($testfeed['priority']); $this->assertTrue(is_array($this->model->add($testfeed))); // invalid source $testfeed = $newfeed; unset($testfeed['source']); $this->assertTrue(is_array($this->model->add($testfeed))); $testfeed = array_merge($newfeed, array('source' => 'abc')); $this->assertTrue(is_array($this->model->add($testfeed))); // validation of id $editfeed = array('id' => '1111', 'name' => 'n-tv all news', 'url' => 'http://www.n-tv.de/rss', 'category' => '2', 'priority' => '1', 'favicon' => '467321.ico', 'filter' => '/.*4711.*/', 'source' => 'plugins_rss_multimedia'); $this->assertTrue(is_array($this->model->edit($editfeed))); }
/** * delete feed * * @return void */ public function deleteAction() { // get id $id = $this->getRequest()->getParam('id'); // delete feed $feedModel = new application_models_feeds(); $result = $feedModel->remove($id); // return unread items or error $return = array(); if ($result === true) { // renew iconcache Zend_Controller_Action_HelperBroker::getStaticHelper('icon')->resetIconImage(); // count unread items per category $return['categories'] = Zend_Controller_Action_HelperBroker::getStaticHelper('itemcounter')->unreadItemsCategories(); // count all feeds $return['feeds'] = $feedModel->count(Zend_Registry::get('session')->currentPriorityStart, Zend_Registry::get('session')->currentPriorityEnd, Zend_Registry::get('session')->view); // count all items $return['all'] = Zend_Controller_Action_HelperBroker::getStaticHelper('itemcounter')->allItems(); // new settings (priority) $return['settings'] = $this->resetPriorities(); } else { $return['error'] = $result; } // send result $this->_helper->json($return); }