public function testDeleteLeaveEntitlements() { $ids = array(2, 33, 12); $leaveEntitlement1 = new LeaveEntitlement(); $leaveEntitlement1->fromArray(array('id' => 2, 'emp_number' => 1, 'no_of_days' => 3, 'days_used' => 0)); $leaveEntitlement2 = new LeaveEntitlement(); $leaveEntitlement2->fromArray(array('id' => 33, 'emp_number' => 1, 'no_of_days' => 3, 'days_used' => 0)); $leaveEntitlement3 = new LeaveEntitlement(); $leaveEntitlement3->fromArray(array('id' => 12, 'emp_number' => 1, 'no_of_days' => 3, 'days_used' => 0)); $leaveEntitlements = array($leaveEntitlement1, $leaveEntitlement2, $leaveEntitlement3); $mockDao = $this->getMock('LeaveEntitlementDao', array('deleteLeaveEntitlements', 'searchLeaveEntitlements')); $mockDao->expects($this->once())->method('deleteLeaveEntitlements')->with($ids)->will($this->returnValue(count($ids))); $mockDao->expects($this->once())->method('searchLeaveEntitlements')->will($this->returnValue($leaveEntitlements)); $this->service->setLeaveEntitlementDao($mockDao); $result = $this->service->deleteLeaveEntitlements($ids); $this->assertEquals(count($ids), $result); }
public function testSearchLeaveEntitlementsSamePeriod() { Doctrine_Query::create()->delete()->from('LeaveEntitlement')->execute(); $leaveEntitlements = array(array('id' => 1, 'leave_type_id' => 1, 'emp_number' => 1, 'no_of_days' => 3, 'from_date' => '2013-01-01 00:00:00', 'to_date' => '2013-12-31 00:00:00', 'entitlement_type' => 1, 'deleted' => 0), array('id' => 2, 'leave_type_id' => 1, 'emp_number' => 2, 'no_of_days' => 3, 'from_date' => '2013-01-01 00:00:00', 'to_date' => '2013-12-31 00:00:00', 'entitlement_type' => 1, 'deleted' => 0)); foreach ($leaveEntitlements as $entitlement) { $leaveEntitlement = new LeaveEntitlement(); $leaveEntitlement->fromArray($entitlement); $leaveEntitlement->save(); } $fromDate = '2013-01-01'; $toDate = '2013-12-31'; $employeeNumbers = array(1, 2); $leaveTypeId = 1; $leaveEntitlementSearchParameterHolder = new LeaveEntitlementSearchParameterHolder(); $leaveEntitlementSearchParameterHolder->setFromDate($fromDate); $leaveEntitlementSearchParameterHolder->setLeaveTypeId($leaveTypeId); $leaveEntitlementSearchParameterHolder->setToDate($toDate); $leaveEntitlementSearchParameterHolder->setEmpIdList($employeeNumbers); $leaveEntitlementSearchParameterHolder->setHydrationMode(Doctrine::HYDRATE_ARRAY); $entitlementList = $this->dao->searchLeaveEntitlements($leaveEntitlementSearchParameterHolder); $this->assertEquals(2, count($entitlementList)); }
public function testHandleLeaveStatusChangeOneEntitlementExtra() { $empNumber = 1; $leaveType = 2; $leave1 = new Leave(); $leave1->fromArray(array('id' => NULL, 'date' => '2012-09-11', 'length_days' => 1)); $leave2 = new Leave(); $leave2->fromArray(array('id' => NULL, 'date' => '2012-09-12', 'length_days' => 1)); $leaveDates = array($leave1, $leave2); $entitlement1 = new LeaveEntitlement(); $entitlement1->fromArray(array('id' => 6, 'emp_number' => 1, 'no_of_days' => 4, 'days_used' => 1, 'leave_type_id' => 2, 'from_date' => '2012-09-10', 'to_date' => '2012-09-14', 'credited_date' => '2012-05-01', 'note' => 'Created by Unit test', 'entitlement_type' => LeaveEntitlement::ENTITLEMENT_TYPE_ADD, 'deleted' => 0)); $entitlements = array($entitlement1); $mockService = $this->getMock('LeaveEntitlementService', array('getValidLeaveEntitlements')); $mockService->expects($this->once())->method('getValidLeaveEntitlements')->with($empNumber, $leaveType, '2012-09-11', '2012-09-12', 'from_date', 'ASC')->will($this->returnValue($entitlements)); $this->strategy->setLeaveEntitlementService($mockService); // Apply, $allowNoEntitlements = false $results = $this->strategy->handleLeaveCreate($empNumber, $leaveType, $leaveDates); $expected = array('current' => array('2012-09-11' => array(6 => 1), '2012-09-12' => array(6 => 1)), 'change' => array()); $this->assertEquals($expected, $results); }