/** * create new cost center * */ public function testCreateCostCenter() { $cc = $this->_getCostCenter(); $created = $this->_backend->create($cc); $this->assertEquals($created->number, $cc->number); $this->assertEquals($created->remark, $cc->remark); $this->_backend->delete($cc); }
/** * tests CostCenter CRUD Methods */ public function testAllCostCenterMethods() { $remark = Tinebase_Record_Abstract::generateUID(10); $number = Tinebase_DateTime::now()->getTimestamp(); $cc = $this->_instance->saveCostCenter(array('number' => $number, 'remark' => $remark)); $this->assertEquals(40, strlen($cc['id'])); $cc = $this->_instance->getCostCenter($cc['id']); $this->assertEquals($number, $cc['number']); $this->assertEquals($remark, $cc['remark']); $cc['remark'] = $cc['remark'] . '_unittest'; $cc['number'] = $number - 5000; $cc = $this->_instance->saveCostCenter($cc); $this->assertEquals($remark . '_unittest', $cc['remark']); $this->assertEquals($number - 5000, $cc['number']); $accountId = Tinebase_Core::getUser()->getId(); $this->assertEquals($accountId, $cc['created_by']['accountId']); $this->assertEquals($accountId, $cc['last_modified_by']['accountId']); $this->assertEquals(NULL, $cc['deleted_by']); $this->assertEquals(NULL, $cc['deleted_time']); $this->assertEquals(2, $cc['seq']); $this->assertEquals(0, $cc['is_deleted']); $ccs = $this->_instance->searchCostCenters(array(array('field' => 'remark', 'operator' => 'equals', 'value' => $remark . '_unittest')), array()); $this->assertEquals(1, $ccs['totalcount']); $this->assertEquals($remark . '_unittest', $ccs['results'][0]['remark']); $this->_instance->deleteCostCenters($cc['id']); $ccs = $this->_instance->searchCostCenters(array(array('field' => 'number', 'operator' => 'equals', 'value' => $number - 5000)), array()); $this->assertEquals(0, $ccs['totalcount']); $be = new Sales_Backend_CostCenter(); $be->setModlogActive(FALSE); $filter = new Sales_Model_CostCenterFilter(array(array('field' => 'number', 'operator' => 'equals', 'value' => $number - 5000)), array()); $result = $be->search($filter); $this->assertEquals(1, $result->count()); $this->assertEquals(1, $result->getFirstRecord()->is_deleted); }
/** * create some costcenters * * @see Tinebase_Setup_DemoData_Abstract */ protected function _onCreate() { $controller = Sales_Controller_CostCenter::getInstance(); $this->_costCenters = new Tinebase_Record_RecordSet('Sales_Model_CostCenter'); $ccs = static::$_de ? array('Management', 'Marketing', 'Entwicklung', 'Produktion', 'Verwaltung', 'Controlling') : array('Management', 'Marketing', 'Development', 'Production', 'Administration', 'Controlling'); $be = new Sales_Backend_CostCenter(); $be->setModlogActive(FALSE); $allCC = $be->getAll(); $id = 1; foreach ($ccs as $title) { $cc = new Sales_Model_CostCenter(array('remark' => $title, 'number' => $id)); try { $record = $controller->create($cc); $this->_costCenters->addRecord($record); } catch (Zend_Db_Statement_Exception $e) { $cc = $allCC->filter('number', $id)->getFirstRecord(); $cc->is_deleted = 0; $this->_costCenters->addRecord($be->update($cc)); } catch (Tinebase_Exception_Duplicate $e) { $cc = $allCC->filter('number', $e->getClientRecord()->number)->getFirstRecord(); $cc->is_deleted = 0; $this->_costCenters->addRecord($be->update($cc)); } $id++; } $divisionsArray = static::$_de ? array('Management', 'EDV', 'Marketing', 'Public Relations', 'Produktion', 'Verwaltung') : array('Management', 'IT', 'Marketing', 'Public Relations', 'Production', 'Administration'); foreach ($divisionsArray as $divisionName) { Sales_Controller_Division::getInstance()->create(new Sales_Model_Division(array('title' => $divisionName))); } $this->_loadCostCentersAndDivisions(); }