public function testLoadsReservationIfTheUserCanEdit()
 {
     $reservation = new ReservationView();
     $user = $this->fakeUser;
     $referenceNumber = 'rn';
     $this->reservationViewRepository->expects($this->once())->method('GetReservationForEditing')->with($this->equalTo($referenceNumber))->will($this->returnValue($reservation));
     $this->reservationAuthorization->expects($this->once())->method('CanEdit')->with($this->equalTo($reservation), $this->equalTo($user))->will($this->returnValue(true));
     $res = $this->service->LoadByReferenceNumber($referenceNumber, $user);
     $this->assertEquals($reservation, $res);
 }
 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 testBindsUserData()
 {
     $userDto = new UserDto($this->userId, 'f', 'l', 'email');
     $this->initializer->expects($this->any())->method('CurrentUser')->will($this->returnValue($this->fakeUser));
     $this->initializer->expects($this->once())->method('GetOwnerId')->will($this->returnValue($this->userId));
     $this->initializer->expects($this->once())->method('CurrentUser')->will($this->returnValue($this->fakeUser));
     $this->userRepository->expects($this->once())->method('GetById')->with($this->equalTo($this->userId))->will($this->returnValue($userDto));
     $this->reservationAuthorization->expects($this->once())->method('CanChangeUsers')->with($this->fakeUser)->will($this->returnValue(true));
     $this->fakeConfig->SetSectionKey(ConfigSection::PRIVACY, ConfigKeys::PRIVACY_HIDE_USER_DETAILS, 'true');
     $this->initializer->expects($this->once())->method('SetShowParticipation')->with($this->equalTo(false));
     $this->initializer->expects($this->once())->method('SetCanChangeUser')->with($this->equalTo(true));
     $this->initializer->expects($this->once())->method('SetReservationUser')->with($this->equalTo($userDto));
     $binder = new ReservationUserBinder($this->userRepository, $this->reservationAuthorization);
     $binder->Bind($this->initializer);
 }
示例#4
0
 public function testReservationDetailsChecksReservationAuthorizationAndCachesResultIfUserNotAnAdminAndReservationProvided()
 {
     $this->hideReservationDetails(true);
     $user = new UserSession(1);
     $reservation = new ReservationView();
     $this->reservationAuthorization->expects($this->once())->method('CanViewDetails')->with($this->equalTo($reservation), $this->equalTo($user))->will($this->returnValue(true));
     $canView = $this->privacyFilter->CanViewDetails($user, $reservation);
     $canView2 = $this->privacyFilter->CanViewDetails($user, $reservation);
     $this->assertTrue($canView);
     $this->assertTrue($canView2);
 }