/** * Test method for getAssignedEmployees */ public function testGetAssignedEmployees() { $workshift = new Workshift(); try { $workshift->getAssignedEmployees(); $this->fail("Trying to fetch assigned employees without setting workshift id should throw exception"); } catch (WorkshiftException $e) { $this->assertEquals(WorkshiftException::INVALID_ID, $e->getCode()); } // Workshift not in system $workshift->setWorkshiftId(1); $employees = $workshift->getAssignedEmployees(); $this->assertEquals(0, count($employees)); $this->assertTrue(mysql_query("INSERT INTO " . Workshift::WORKSHIFT_TABLE . " VALUES ('1' , 'New Test Shift', '5')")); $this->assertTrue(mysql_query("INSERT INTO " . Workshift::WORKSHIFT_TABLE . " VALUES ('2' , 'Workshift 2', '10')")); // Workshift with no assigned employees $workshift->setWorkshiftId(2); $employees = $workshift->getAssignedEmployees(); $this->assertEquals(0, count($employees)); $this->assertTrue(mysql_query("INSERT INTO hs_hr_employee_workshift(workshift_id, emp_number) VALUES (1, 1)")); $this->assertTrue(mysql_query("INSERT INTO hs_hr_employee_workshift(workshift_id, emp_number) VALUES (2, 2)")); $this->assertTrue(mysql_query("INSERT INTO hs_hr_employee_workshift(workshift_id, emp_number) VALUES (2, 3)")); $expected[2] = array(2, '0022', 'Jayasinghe', 'Aruna', 'Shantha'); $expected[3] = array(3, '0034', 'Ranasinghe', 'Nimal', 'Bandara'); $employees = $workshift->getAssignedEmployees(); $this->assertEquals(2, count($employees)); $this->_checkEmployeeList($employees, $expected); $workshift->setWorkshiftId(1); $employees = $workshift->getAssignedEmployees(); unset($expected); $expected[1] = array(1, '0011', 'Rajasinghe', 'Saman', 'Marlon'); $this->assertEquals(1, count($employees)); $this->_checkEmployeeList($employees, $expected); }