private function assertUpdatesSeriesParticipation($invitationAction, $seriesMethod)
 {
     $this->fakeConfig->SetSectionKey(ConfigSection::RESERVATION, ConfigKeys::RESERVATION_START_TIME_CONSTRAINT, ReservationStartTimeConstraint::NONE);
     $currentUserId = 1029;
     $referenceNumber = 'abc123';
     $series = $this->getMock('ExistingReservationSeries');
     $series->expects($this->any())->method('GetAllowParticipation')->will($this->returnValue(true));
     $series->expects($this->any())->method('AllResources')->will($this->returnValue(array()));
     $this->page->expects($this->once())->method('GetResponseType')->will($this->returnValue('json'));
     $this->page->expects($this->once())->method('GetInvitationAction')->will($this->returnValue($invitationAction));
     $this->page->expects($this->once())->method('GetInvitationReferenceNumber')->will($this->returnValue($referenceNumber));
     $this->page->expects($this->once())->method('GetUserId')->will($this->returnValue($currentUserId));
     $this->reservationRepo->expects($this->once())->method('LoadByReferenceNumber')->with($this->equalTo($referenceNumber))->will($this->returnValue($series));
     $series->expects($this->once())->method($seriesMethod)->with($this->equalTo($currentUserId));
     $this->reservationRepo->expects($this->once())->method('Update')->with($this->equalTo($series));
     $this->page->expects($this->once())->method('DisplayResult')->with($this->equalTo(null));
     $this->presenter->PageLoad();
 }
 public function testShowsErrorFileDoesNotBelongToReservation()
 {
     $fileId = 110;
     $resourceId = 1909;
     $referenceNumber = 'rn';
     $seriesId = 1;
     $fileSeriesId = 2;
     $builder = new ExistingReservationSeriesBuilder();
     $builder->WithId($seriesId);
     $builder->WithPrimaryResource(new FakeBookableResource($resourceId));
     $reservationSeries = $builder->Build();
     $reservationAttachment = new FakeReservationAttachment($fileId);
     $reservationAttachment->SetSeriesId($fileSeriesId);
     $this->page->expects($this->once())->method('GetFileId')->will($this->returnValue($fileId));
     $this->page->expects($this->once())->method('GetReferenceNumber')->will($this->returnValue($referenceNumber));
     $this->reservationRepository->expects($this->once())->method('LoadReservationAttachment')->with($this->equalTo($fileId))->will($this->returnValue($reservationAttachment));
     $this->reservationRepository->expects($this->once())->method('LoadByReferenceNumber')->with($this->equalTo($referenceNumber))->will($this->returnValue($reservationSeries));
     $this->page->expects($this->once())->method('ShowError');
     $this->presenter->PageLoad($this->fakeUser);
 }