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); }
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); }