/** * test delete (and if prefs are removed */ public function testDeleteFilter() { $filter = $this->testSaveFilter(); Tinebase_Core::getPreference('Tasks')->{Tinebase_Preference_Abstract::DEFAULTPERSISTENTFILTER} = $filter['id']; $this->_uit->deletePersistentFilters(array($filter['id'])); $this->assertNotEquals(Tinebase_Core::getPreference('Tasks')->{Tinebase_Preference_Abstract::DEFAULTPERSISTENTFILTER}, $filter['id']); $this->setExpectedException('Tinebase_Exception_NotFound'); Tinebase_PersistentFilter::getInstance()->get($filter['id']); }
/** * try to search timesheets with saved persistent filter id * * @todo move this test to tinebase json tests? */ public function testSearchTimesheetsWithPersistentFilter() { $persistentFiltersJson = new Tinebase_Frontend_Json_PersistentFilter(); $tsFilter = $this->_getTimesheetFilter(); // create $filterName = Tinebase_Record_Abstract::generateUID(); $persistentFiltersJson->savePersistentFilter(array('application_id' => Tinebase_Application::getInstance()->getApplicationById('Timetracker')->getId(), 'filters' => $tsFilter, 'name' => $filterName, 'model' => 'Timetracker_Model_TimesheetFilter')); $timesheet = $this->_getTimesheet(); $timesheetData = $this->_json->saveTimesheet($timesheet->toArray()); // search persistent filter $persistentFilters = $persistentFiltersJson->searchPersistentFilter($this->_getPersistentFilterFilter($filterName), NULL); //check $search = $this->_json->searchTimesheets($persistentFilters['results'][0]['id'], $this->_getPaging()); $this->assertEquals($timesheet->description, $search['results'][0]['description']); $this->assertEquals('array', gettype($search['results'][0]['timeaccount_id']), 'timeaccount_id is not resolved'); $this->assertEquals('array', gettype($search['results'][0]['account_id']), 'account_id is not resolved'); $this->assertEquals(1, $search['totalcount']); $this->assertEquals(30, $search['totalsum']); $this->assertEquals($tsFilter, $search['filter'], 'filters do not match'); // cleanup / delete file $persistentFiltersJson->deletePersistentFilters($persistentFilters['results'][0]['id']); }