/** * 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")); }