public function testGroupsReservations() { $now = Date::Parse('2011-03-24'); // thursday Date::_SetNow($now); $today = new ReservationItemView('1', $now, $now); $tomorrow = new ReservationItemView('2', $now->AddDays(1), $now->AddDays(1)); // friday $thisWeek = new ReservationItemView('3', $now->AddDays(2), $now->AddDays(2)); // saturday $nextWeek = new ReservationItemView('3', $now->AddDays(3), $now->AddDays(3)); // sunday of next week $reservations[] = $today; $reservations[] = $tomorrow; $reservations[] = $thisWeek; $reservations[] = $nextWeek; $this->repository->expects($this->once())->method('GetReservationList')->with($this->anything(), $this->anything(), $this->anything())->will($this->returnValue($reservations)); $this->control->expects($this->once())->method('BindToday')->with($this->equalTo(array($today))); $this->control->expects($this->once())->method('BindTomorrow')->with($this->equalTo(array($tomorrow))); $this->control->expects($this->once())->method('BindThisWeek')->with($this->equalTo(array($thisWeek))); $this->control->expects($this->once())->method('BindNextWeek')->with($this->equalTo(array($nextWeek))); $presenter = new UpcomingReservationsPresenter($this->control, $this->repository); $presenter->PageLoad(); }
public function PageLoad() { $user = ServiceLocator::GetServer()->GetUserSession(); $timezone = $user->Timezone; $now = Date::Now(); $today = $now->ToTimezone($timezone)->GetDate(); $dayOfWeek = $today->Weekday(); $lastDate = $now->AddDays(13 - $dayOfWeek - 1); $reservations = $this->repository->GetReservationList($now, $lastDate, $this->searchUserId, $this->searchUserLevel); $tomorrow = $today->AddDays(1); $startOfNextWeek = $today->AddDays(7 - $dayOfWeek); $todays = array(); $tomorrows = array(); $thisWeeks = array(); $nextWeeks = array(); /* @var $reservation ReservationItemView */ /*foreach ($reservations as $reservation) { $start = $reservation->StartDate->ToTimezone($timezone); if ($start->DateEquals($today)) { $todays[] = $reservation; } else if ($start->DateEquals($tomorrow)) { $tomorrows[] = $reservation; } else if ($start->LessThan($startOfNextWeek)) { $thisWeeks[] = $reservation; } else { $nextWeeks[] = $reservation; } }*/ $this->control->SetTotal(count($reservations)); $this->control->SetTimezone($timezone); $this->control->SetUserId($user->UserId); $this->control->BindReservations($reservations); $this->control->BindExperiment($reservations->experiment); $this->control->BindTodayDate(); /*$this->control->BindToday($todays); $this->control->BindTomorrow($tomorrows); $this->control->BindThisWeek($thisWeeks); $this->control->BindNextWeek($nextWeeks);*/ }