public function testSaveLeaveEntitlementNew() { $leaveEntitlement = new LeaveEntitlement(); //$leaveEntitlement->setId(); $leaveEntitlement->setEmpNumber(1); $leaveEntitlement->setNoOfDays(12); $leaveEntitlement->setLeaveTypeId(2); $leaveEntitlement->setFromDate('2012-09-13'); $leaveEntitlement->setToDate('2012-11-28'); $leaveEntitlement->setCreditedDate('2012-05-01'); $leaveEntitlement->setNote('Created by Unit test'); $leaveEntitlement->setEntitlementType(LeaveEntitlement::ENTITLEMENT_TYPE_ADD); $leaveEntitlement->setDeleted(0); $savedObj = $this->dao->saveLeaveEntitlement($leaveEntitlement); $this->assertTrue($savedObj instanceof LeaveEntitlement); $savedId = $savedObj->getId(); $this->assertTrue(!empty($savedId)); $leaveEntitlement->setId($savedId); $this->_compareEntitlement($leaveEntitlement, $savedObj); $fromDb = Doctrine_Query::create()->from('LeaveEntitlement le')->where('le.id = ? ', $savedId)->fetchOne(); $this->_compareEntitlement($leaveEntitlement, $fromDb); }
/** * Two entitlements, first one not enough. Verify assigned first to earlier expiring entitlement and the rest to the * next entitlement */ public function testGetAvailableEntitlementsTwo1() { $empNumber = 1; $leaveType = 2; $leave1 = new Leave(); $leave1->fromArray(array('id' => NULL, 'date' => '2012-09-13', 'length_days' => 1)); $leave2 = new Leave(); $leave2->fromArray(array('id' => NULL, 'date' => '2012-09-14', 'length_days' => 1)); $leave3 = new Leave(); $leave3->fromArray(array('id' => NULL, 'date' => '2012-09-15', 'length_days' => 1)); $leave4 = new Leave(); $leave4->fromArray(array('id' => NULL, 'date' => '2012-09-16', 'length_days' => 1)); $leaveDates = array($leave1, $leave2, $leave3, $leave4); $entitlement1 = new LeaveEntitlement(); $entitlement1->setId(6); $entitlement1->setEmpNumber(1); $entitlement1->setNoOfDays(2); $entitlement1->setLeaveTypeId(2); $entitlement1->setFromDate('2012-09-11'); $entitlement1->setToDate('2012-09-15'); $entitlement1->setCreditedDate('2012-05-01'); $entitlement1->setNote('Created by Unit test'); $entitlement1->setEntitlementType(LeaveEntitlement::ENTITLEMENT_TYPE_ADD); $entitlement1->setDeleted(0); $entitlement2 = new LeaveEntitlement(); $entitlement2->setId(2); $entitlement2->setEmpNumber(1); $entitlement2->setNoOfDays(4); $entitlement2->setLeaveTypeId(2); $entitlement2->setFromDate('2012-09-12'); $entitlement2->setToDate('2012-09-18'); $entitlement2->setCreditedDate('2012-05-01'); $entitlement2->setNote('Created by Unit test'); $entitlement2->setEntitlementType(LeaveEntitlement::ENTITLEMENT_TYPE_ADD); $entitlement2->setDeleted(0); $entitlements = array($entitlement1, $entitlement2); $mockService = $this->getMock('LeaveEntitlementService', array('getValidLeaveEntitlements')); $mockService->expects($this->any())->method('getValidLeaveEntitlements')->with($empNumber, $leaveType, '2012-09-13', '2012-09-16', 'to_date', 'ASC')->will($this->returnValue($entitlements)); $this->strategy->setLeaveEntitlementService($mockService); $results = $this->strategy->getAvailableEntitlements($empNumber, $leaveType, $leaveDates); $this->assertTrue($results !== false); $current = array_combine(array('2012-09-13', '2012-09-14', '2012-09-15', '2012-09-16'), array(array(6 => 1), array(6 => 1), array(2 => 1), array(2 => 1))); $changes = array(); $this->verifyEntitlements($results, $current, $changes); }