/** * Test case for createEmployeeFromApplication */ public function testCreateEmployeeFromApplication() { $jobApplication = JobApplication::getJobApplication(1); $empInfo = new EmpInfo(); $before = $empInfo->countEmployee(); $recController = new RecruitmentController(); $empNum = $recController->createEmployeeFromApplication($jobApplication); $this->assertNotNull($empNum); // check employee count increased by 1 $after = $empInfo->countEmployee(); $this->assertEquals($before + 1, $after); // verify employee main details $empMain = $empInfo->filterEmpMain($empNum); $this->assertTrue(isset($empMain[0])); $this->assertEquals($empNum, $empMain[0][0]); $this->assertEquals($jobApplication->getLastName(), $empMain[0][1]); $this->assertEquals($jobApplication->getFirstName(), $empMain[0][2]); $this->assertEquals($jobApplication->getMiddleName(), $empMain[0][3]); // check that empId saved as well. $employeeId = str_pad($empNum, $empInfo->getEmployeeIdLength(), "0", STR_PAD_LEFT); $this->assertEquals($employeeId, $empMain[0][5]); // verify employee contact details $empContact = $empInfo->filterEmpContact($empNum); $this->assertTrue(isset($empContact[0])); $this->assertEquals($empNum, $empMain[0][0]); $this->assertEquals($jobApplication->getStreet1(), $empContact[0][1]); $this->assertEquals($jobApplication->getStreet2(), $empContact[0][2]); $this->assertEquals($jobApplication->getCity(), $empContact[0][3]); $this->assertEquals($jobApplication->getCountry(), $empContact[0][4]); $this->assertEquals($jobApplication->getProvince(), $empContact[0][5]); $this->assertEquals($jobApplication->getZip(), $empContact[0][6]); // Phone saved as home telephone $this->assertEquals($jobApplication->getPhone(), $empContact[0][7]); $this->assertEquals($jobApplication->getMobile(), $empContact[0][8]); // Email stored as other email. $this->assertEquals($jobApplication->getEmail(), $empContact[0][11]); // Job title $empJobInfo = $empInfo->filterEmpJobInfo($empNum); $this->assertTrue(isset($empJobInfo[0])); $this->assertEquals($empNum, $empJobInfo[0][0]); $vacancy = JobVacancy::getJobVacancy($jobApplication->getVacancyId()); $this->assertEquals($vacancy->getJobTitleCode(), $empJobInfo[0][2]); }