Хотите узнать, как начать писать модульный тест для этой функции в siverstripe?
function getAvailableScanners($date){
$scanners = self::get("Scanner");
$startDate = date("Y-m-d", strtotime("-".self::$daysNeededAfterLastGig." days", strtotime($date)));
$endDate = date("Y-m-d", strtotime("+".self::$daysNeededBeforeNextGig." days", strtotime($date)));
foreach($scanners as $scanner){
$events = EventProduct::get("EventProduct", "\"ExpiryDate\">='$startDate' AND \"ExpiryDate\"<='$endDate'");
if($events){
foreach($events as $event){
if($scanner->isAssignedToEvent($event)){
$scanners->remove($scanner);
}
}
}
}
return $scanners;
}