public function addHoliday()
 {
     $this->_authenticateViewHoliday();
     $objLeave = $this->getObjLeave();
     $objLeave->add();
     Leave::updateLeavesForDate($objLeave->getDate(), $objLeave->getLength());
     Holidays::updateHolidaysForLeavesOnCreate($objLeave->getDate(), $objLeave->getLength());
 }
 public function testUpdateHolidaysForLeavesOnCreate()
 {
     $dbConnection = new DMLFunctions();
     $date = date('Y-m-d', time() - 3600 * 24 * 2);
     $date2 = date('Y-m-d', time() + 3600 * 24 * 2);
     $query = "INSERT INTO `hs_hr_holidays` (`holiday_id`, `description`, `date`, `recurring`, `length`) VALUES (12, 'National Day', '{$date}', 0, 8)";
     $result = $dbConnection->executeQuery($query);
     $query = "INSERT INTO `hs_hr_holidays` (`holiday_id`, `description`, `date`, `recurring`, `length`) VALUES (12, 'Pooya Day', '{$date2}', 0, 8)";
     $result = $dbConnection->executeQuery($query);
     Holidays::updateHolidaysForLeavesOnCreate($date, '8');
     $query = "SELECT leave_id, leave_status FROM hs_hr_leave WHERE leave_id = 10 ";
     $result = $dbConnection->executeQuery($query);
     $row = $dbConnection->dbObject->getArray($result);
     $this->assertEquals(3, $row['leave_status'], 'Invalid status');
     Holidays::updateHolidaysForLeavesOnCreate($date2, '8');
     $query = "SELECT leave_id, leave_status FROM hs_hr_leave WHERE leave_id = 12 ";
     $result = $dbConnection->executeQuery($query);
     $row = $dbConnection->dbObject->getArray($result);
     $this->assertEquals(5, $row['leave_status'], 'Invalid status');
 }