function removeBookingsFrom($availability, $dayString, $filterByTherapist = null) { $availabilityModel = new \Bookingbat\Engine\Availability($availability); $db = $this->db(); $select = $db->select()->from('appointments')->where('date=?', date('Y-m-d', strtotime($dayString)))->where('canceled=0'); if ($filterByTherapist) { $select->where('staff_userid=?', $filterByTherapist); } $bookings = $select->query()->fetchAll(); foreach ($bookings as $bookingArray) { $booking = new Booking(array('start' => $bookingArray['time'], 'user_id' => $bookingArray['staff_userid'], 'duration' => $bookingArray['duration'])); $availabilityModel->addBooking($booking); } return $availabilityModel; }
function testBug5() { $input = array(array('start' => '19:00:00', 'end' => '22:30:00')); $availability = new \Bookingbat\Engine\Availability($input, array('padding' => 30)); $availabilityArray = $availability->addBooking(array('start' => '20:00:00', 'duration' => 90)); $this->assertEquals(array(), $availabilityArray, 'should not allow appointments smaller than the minimum length'); }