public function xtestAdjustLeavePeriodOverlapLeaves() { $leaveList = TestDataService::loadObjectList('Leave', $this->fixture, 'set4'); $leavePeriod = new LeavePeriod(); $leavePeriod->setLeavePeriodId(11); $leavePeriod->setStartDate("2008-01-31"); $leavePeriod->setEndDate("2009-01-31"); $leaveRequestDao = $this->getMock('LeaveRequestDao', array('getLeavePeriodOverlapLeaves', 'fetchLeave', 'modifyOverlapLeaveRequest')); $leave = $leaveList[0]; $leaveRequest = new LeaveRequest(); $leaveRequest->setLeaveRequestId($leave->getLeaveRequestId()); $leave->setLeaveRequest($leaveRequest); $leaveRequestDao->expects($this->once())->method('getLeavePeriodOverlapLeaves')->with($leavePeriod)->will($this->returnValue(array($leave))); $leaveRequestDao->expects($this->once())->method('fetchLeave')->with($leave->getLeaveRequestId())->will($this->returnValue($leaveList)); $leaveRequestDao->expects($this->once())->method('modifyOverlapLeaveRequest')->with($leave->getLeaveRequest(), $leaveList, $leavePeriod); $this->leaveRequestService->setLeaveRequestDao($leaveRequestDao); $this->leaveRequestService->adjustLeavePeriodOverlapLeaves($leavePeriod); }
public function testReadLeavePeriod() { //mocking LeavePeriodDao $lastLeavePeriod = new LeavePeriod(); $lastLeavePeriod->setStartDate("2010-01-01"); $lastLeavePeriod->setEndDate("2010-12-31"); $lastLeavePeriod->setLeavePeriodId(1); $leavePeriodDao = $this->getMock('LeavePeriodDao', array('readLeavePeriod')); $leavePeriodDao->expects($this->once())->method('readLeavePeriod')->will($this->returnValue($lastLeavePeriod)); $this->leavePeriodService->setLeavePeriodDao($leavePeriodDao); $retrievedLeavePeriod = $this->leavePeriodService->readLeavePeriod(1); $this->assertTrue($retrievedLeavePeriod instanceof LeavePeriod); }
/** * This test checks for the success scenario in case if an employee assigned a leave */ public function testAssignLeaveFailsOnHolidays() { // Set post parameters $parameters = array('txtFromDate' => '2010-11-23', 'txtToDate' => '2010-11-24', 'txtEmpID' => '0001', 'txtLeaveType' => 'LT001'); $request = $this->context->request; $request->setPostParameters($parameters); // Set request to POST method $request->setMethod(sfRequest::POST); //mocking LeaveRequestService $leaveRequestService = $this->getMock('LeaveRequestService', array('getOverlappingLeave')); $leaveTypes = TestDataService::loadObjectList('LeaveType', $this->fixture, 'LeaveTypes'); $leaveRequestService->expects($this->once())->method('getOverlappingLeave')->will($this->returnValue(array())); //mocking LeaveTypeService $leaveTypeService = $this->getMock('LeaveTypeService', array('readLeaveType', 'getLeaveTypeList')); $leaveTypeService->expects($this->once())->method('readLeaveType')->will($this->returnValue($leaveTypes[0])); $leaveTypeService->expects($this->once())->method('getLeaveTypeList')->will($this->returnValue($leaveTypes)); //mocking leave period service $leavePeriod = new LeavePeriod(); $leavePeriod->setStartDate("2010-01-01"); $leavePeriod->setEndDate("2010-12-31"); $leavePeriod->setLeavePeriodId(2); $leavePeriodService = $this->getMock('LeavePeriodService', array('isWithinNextLeavePeriod', 'createNextLeavePeriod')); $leavePeriodService->expects($this->once())->method('isWithinNextLeavePeriod')->will($this->returnValue(true)); $leavePeriodService->expects($this->once())->method('createNextLeavePeriod')->will($this->returnValue($leavePeriod)); $assignLeaveAction = new assignLeaveAction($this->context, "leave", "execute"); $assignLeaveAction->setLeaveRequestService($leaveRequestService); $assignLeaveAction->setLeaveTypeService($leaveTypeService); $assignLeaveAction->setLeavePeriodService($leavePeriodService); //mocking the form $form = $this->getMock('AssignLeaveForm', array('isValid', 'createLeaveObjectListForAppliedRange')); $form->expects($this->once())->method('isValid')->will($this->returnValue(true)); $leaves = TestDataService::loadObjectList('Leave', $this->fixture, 'Leave'); //making all leaves to holidays foreach ($leaves as $k => $obj) { $leaves[$k]->setLeaveStatus(Leave::LEAVE_STATUS_LEAVE_HOLIDAY); } $form->expects($this->once())->method('createLeaveObjectListForAppliedRange')->will($this->returnValue($leaves)); $assignLeaveAction->setForm($form); try { $assignLeaveAction->execute($request); $this->assertTrue(isset($assignLeaveAction->templateMessage['SUCCESS'])); } catch (Exception $e) { } }