public function testLoadAndApprovesReservationSendingNotifications() { $referenceNumber = 'rn'; $builder = new ExistingReservationSeriesBuilder(); $reservation = $builder->Build(); $this->page->expects($this->once())->method('GetReferenceNumber')->will($this->returnValue($referenceNumber)); $this->persistence->expects($this->once())->method('LoadByReferenceNumber')->with($this->equalTo($referenceNumber))->will($this->returnValue($reservation)); $this->handler->expects($this->once())->method('Handle')->with($this->equalTo($reservation), $this->equalTo($this->page))->will($this->returnValue(true)); $this->auth->expects($this->once())->method('CanApprove')->with($this->equalTo(new ReservationViewAdapter($reservation)), $this->equalTo($this->fakeUser))->will($this->returnValue(true)); $this->presenter->PageLoad(); $this->assertTrue(in_array(new SeriesApprovedEvent($reservation), $reservation->GetEvents())); }
public function testUpdatesReservationAttributeIfTheUserCanEdit() { $referenceNumber = 'rn'; $id = 111; $value = 'new attribute value'; $user = $this->fakeUser; $resultCollector = new ManageReservationsUpdateAttributeResultCollector(); $reservation = new ExistingReservationSeries(); $reservation->UpdateBookedBy($user); $reservation->AddAttributeValue(new AttributeValue($id, $value)); $this->persistenceService->expects($this->once())->method('LoadByReferenceNumber')->with($this->equalTo($referenceNumber))->will($this->returnValue($reservation)); $this->reservationHandler->expects($this->once())->method('Handle')->with($this->equalTo($reservation), $this->equalTo($resultCollector)); $result = $this->service->UpdateAttribute($referenceNumber, $id, $value, $user); }
public function testUsesFirstAdditionalResourceIfPrimaryIsRemoved() { $referenceNumber = $this->page->existingReferenceNumber; $builder = new ExistingReservationSeriesBuilder(); $builder->WithPrimaryResource(new FakeBookableResource(100)); $expectedSeries = $builder->Build(); $additionalId = 5; $this->page->resourceId = null; $this->page->resourceIds = array($additionalId); $resource = new FakeBookableResource($additionalId); $this->persistenceService->expects($this->once())->method('LoadByReferenceNumber')->with($this->equalTo($referenceNumber))->will($this->returnValue($expectedSeries)); $this->resourceRepository->expects($this->once())->method('LoadById')->with($this->equalTo($additionalId))->will($this->returnValue($resource)); $existingSeries = $this->presenter->BuildReservation(); $this->assertEquals($resource, $existingSeries->Resource()); }