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); }
public function testSaveLeave() { // Try and save leave with id that exists - should throw error $existingLeave = new Leave(); $existingLeave->fromArray($this->fixture['Leave'][1]); try { $this->leaveRequestDao->saveLeave($existingLeave); $this->fail("Dao exception expected"); } catch (DaoException $e) { // expected } // Try to save new leave (without id) $leaveRequestId = $this->fixture['LeaveRequest'][1]['id']; $leave = new Leave(); $leave->length_hours = 8; $leave->length_days = 1; $leave->leave_request_id = $leaveRequestId; $leave->leave_type_id = $this->fixture['LeaveType'][0]['id']; $leave->emp_number = $this->fixture['Employee'][0]['empNumber']; $leave->date = '2010-09-09'; $leave->status = 1; $this->leaveRequestDao->saveLeave($leave); // Verify id assigned $this->assertTrue(!empty($leave->id)); // Verify saved by retrieving $result = Doctrine_Query::create()->select()->from('Leave l')->where('id = ?', $leave->id)->execute(); $this->assertTrue($result->count() == 1); $this->assertTrue(is_a($result[0], Leave)); $origAsArray = $leave->toArray(); $savedAsArray = $result[0]->toArray(); $this->assertEquals($origAsArray, $savedAsArray); }