/** * Parse common data for edit and update * @return JobTitle object */ private function _parseCommonData($postArr) { $jobTitle = new JobTitle(); $jobTitle->setJobName(CommonFunctions::escapeHtml(trim($postArr['txtJobTitleName']))); $jobTitle->setJobDesc(CommonFunctions::escapeHtml(trim($postArr['txtJobTitleDesc']))); $jobTitle->setJobComm(CommonFunctions::escapeHtml(trim($postArr['txtJobTitleComments']))); $jobTitle->setJobSalGrd(trim($postArr['cmbPayGrade'])); $jobSpecId = trim($postArr['cmbJobSpecId']); if (CommonFunctions::isValidId($jobSpecId)) { $jobTitle->setJobSpecId($jobSpecId); } return $jobTitle; }
/** * Test case for addJobTitles() and updateJobTitles() */ public function testAddUpdateJobTitles() { $before = $this->_getCount(); // Add job title without spec $jobTitle = new JobTitle(); $jobTitle->setJobName('Director'); $jobTitle->setJobDesc('Director Description'); $jobTitle->setJobComm('Director comments'); $jobTitle->setJobSalGrd('SAL001'); $jobTitle->addJobTitles(); $id = $jobTitle->getJobId(); $this->assertEquals($before + 1, $this->_getCount()); $this->assertEquals(1, $this->_getCount("jobtit_code='{$id}' AND jobtit_name='Director'" . "AND jobtit_desc = 'Director Description' AND jobtit_comm = 'Director comments' AND " . "sal_grd_code = 'SAL001' AND jobspec_id IS NULL")); // Update job title values (specify job spec id) $jobTitle->setJobSpecId('1'); $jobTitle->updateJobTitles(); $this->assertEquals($before + 1, $this->_getCount()); $this->assertEquals(1, $this->_getCount("jobtit_code='{$id}' AND jobtit_name='Director'" . "AND jobtit_desc = 'Director Description' AND jobtit_comm = 'Director comments' AND " . "sal_grd_code = 'SAL001' AND jobspec_id = 1")); // Add job title with spec $jobTitle = new JobTitle(); $jobTitle->setJobName('Manager'); $jobTitle->setJobDesc('Manager Description'); $jobTitle->setJobComm('Manager comments'); $jobTitle->setJobSalGrd('SAL001'); $jobTitle->setJobSpecId('1'); $jobTitle->addJobTitles(); $id = $jobTitle->getJobId(); $this->assertEquals($before + 2, $this->_getCount()); $this->assertEquals(1, $this->_getCount("jobtit_code='{$id}' AND jobtit_name='Manager'" . "AND jobtit_desc = 'Manager Description' AND jobtit_comm = 'Manager comments' AND " . "sal_grd_code = 'SAL001' AND jobspec_id = 1")); // Update job title values (clear job spec id) $jobTitle->setJobSpecId(null); $jobTitle->updateJobTitles(); $this->assertEquals($before + 2, $this->_getCount()); $this->assertEquals(1, $this->_getCount("jobtit_code='{$id}' AND jobtit_name='Manager'" . "AND jobtit_desc = 'Manager Description' AND jobtit_comm = 'Manager comments' AND " . "sal_grd_code = 'SAL001' AND jobspec_id IS NULL")); }