Пример #1
0
 /**
  * Tests validateTimeEvents method.
  */
 public function testValidateTimeEvents()
 {
     $timeController = new TimeController();
     $timeEvents[] = $this->_getTimeEvent(1, 10, 10, 10, '2007-05-14 00:01', '2007-05-14 15:00', '2007-07-07', 3 * 3600, "desc 1");
     $timeEvents[] = $this->_getTimeEvent(2, 10, 10, 10, '2007-05-17 12:00', '2007-05-18 15:00', '2007-07-07', 27 * 3600, "desc 2");
     $timeEvents[] = $this->_getTimeEvent(3, 10, 10, 10, '2007-05-20 22:00', '2007-05-20 23:59', '2007-07-07', 2 * 3600 - 60, "desc 2");
     $retVal = $timeController->validateTimeEvents($timeEvents);
     $this->assertTrue($retVal === true, "Got {$retVal} instead of true");
     // Invalid timesheet Id
     $timeEvents[1]->setTimesheetId(12);
     $this->assertTrue($timeController->validateTimeEvents($timeEvents) === TimeController::NO_TIMESHEET_FAILURE);
     // Empty timesheet id
     $timeEvents[1]->setTimesheetId(null);
     $this->assertTrue($timeController->validateTimeEvents($timeEvents) === TimeController::NO_TIMESHEET_FAILURE);
     // Time event outside timesheet period
     $timeEvents[1]->setTimesheetId(10);
     $timeEvents[1]->setStartTime('2007-05-13 23:33');
     $this->assertTrue($timeController->validateTimeEvents($timeEvents) === TimeController::EVENT_OUTSIDE_PERIOD_FAILURE);
     // Check that duration and end time is set for the time events by validateTimeEvents
     $timeEvents = array();
     $timeEvents[] = $this->_getTimeEvent(1, 10, 10, 10, '2007-05-14 00:01', '2007-05-14 15:00', '2007-07-07', "", "desc 1");
     $timeEvents[] = $this->_getTimeEvent(2, 10, 10, 10, '2007-05-17 12:00', '2007-05-18 15:00', '2007-07-07', "", "desc 2");
     $timeEvents[] = $this->_getTimeEvent(3, 10, 10, 10, '2007-05-20 22:00', '', '2007-07-07', 3600, "desc 2");
     $this->assertSame(true, $timeController->validateTimeEvents($timeEvents));
     $this->assertSame(15 * 3600 - 60, $timeEvents[0]->getDuration());
     $this->assertSame(27 * 3600, $timeEvents[1]->getDuration());
     $this->assertSame("2007-05-20 23:00", $timeEvents[2]->getEndTime());
 }