public function testWhenReservationIsNotFound() { $reservation = NullReservationView::Instance(); $referenceNumber = '12323'; $this->reservationViewRepository->expects($this->once())->method('GetReservationForEditing')->with($this->equalTo($referenceNumber))->will($this->returnValue($reservation)); $this->service->GetReservation($referenceNumber); $expectedResponse = RestResponse::NotFound(); $this->assertEquals($expectedResponse, $this->server->_LastResponse); }
public function GetReservationForEditing($referenceNumber) { $reservationView = NullReservationView::Instance(); $getReservation = new GetReservationForEditingCommand($referenceNumber); $result = ServiceLocator::GetDatabase()->Query($getReservation); while ($row = $result->GetRow()) { $reservationView = new ReservationView(); $reservationView->Description = $row[ColumnNames::RESERVATION_DESCRIPTION]; $reservationView->EndDate = Date::FromDatabase($row[ColumnNames::RESERVATION_END]); $reservationView->OwnerId = $row[ColumnNames::USER_ID]; $reservationView->ResourceId = $row[ColumnNames::RESOURCE_ID]; $reservationView->ResourceName = $row[ColumnNames::RESOURCE_NAME]; $reservationView->ReferenceNumber = $row[ColumnNames::REFERENCE_NUMBER]; $reservationView->ReservationId = $row[ColumnNames::RESERVATION_INSTANCE_ID]; $reservationView->ScheduleId = $row[ColumnNames::SCHEDULE_ID]; $reservationView->StartDate = Date::FromDatabase($row[ColumnNames::RESERVATION_START]); $reservationView->Title = $row[ColumnNames::RESERVATION_TITLE]; $reservationView->SeriesId = $row[ColumnNames::SERIES_ID]; $reservationView->OwnerFirstName = $row[ColumnNames::FIRST_NAME]; $reservationView->OwnerLastName = $row[ColumnNames::LAST_NAME]; $reservationView->OwnerEmailAddress = $row[ColumnNames::EMAIL]; $reservationView->StatusId = $row[ColumnNames::RESERVATION_STATUS]; $reservationView->DateCreated = Date::FromDatabase($row[ColumnNames::RESERVATION_CREATED]); $reservationView->DateModified = Date::FromDatabase($row[ColumnNames::RESERVATION_MODIFIED]); $repeatConfig = RepeatConfiguration::Create($row[ColumnNames::REPEAT_TYPE], $row[ColumnNames::REPEAT_OPTIONS]); $reservationView->RepeatType = $repeatConfig->Type; $reservationView->RepeatInterval = $repeatConfig->Interval; $reservationView->RepeatWeekdays = $repeatConfig->Weekdays; $reservationView->RepeatMonthlyType = $repeatConfig->MonthlyType; $reservationView->RepeatTerminationDate = $repeatConfig->TerminationDate; $reservationView->AllowParticipation = $row[ColumnNames::RESERVATION_ALLOW_PARTICIPATION]; $this->SetResources($reservationView); $this->SetParticipants($reservationView); $this->SetAccessories($reservationView); $this->SetAttributes($reservationView); $this->SetAttachments($reservationView); $this->SetReminders($reservationView); } return $reservationView; }
public function testReturnsNullObjectIfNothingFound() { $referenceNumber = "12345"; $reservationView = $this->repository->GetReservationForEditing($referenceNumber); $this->assertEquals(NullReservationView::Instance(), $reservationView); }