function it_does_not_allow_to_delete_currently_logged_user(ResourceEvent $event, UserInterface $userToBeDeleted, UserInterface $currentlyLoggedInUser, $securityContext, $flashBag, TokenInterface $token)
 {
     $event->getSubject()->willReturn($userToBeDeleted);
     $userToBeDeleted->getId()->willReturn(1);
     $securityContext->getToken()->willReturn($token);
     $currentlyLoggedInUser->getId()->willReturn(1);
     $token->getUser()->willReturn($currentlyLoggedInUser);
     $event->stopPropagation()->shouldBeCalled();
     $flashBag->add('error', 'Cannot remove currently logged in user.')->shouldBeCalled();
     $this->deleteUser($event);
 }
Esempio n. 2
0
 /**
  * @param ResourceEvent $event
  */
 public function deleteUser(ResourceEvent $event)
 {
     $user = $event->getSubject();
     if (!$user instanceof UserInterface) {
         throw new UnexpectedTypeException($user, UserInterface::class);
     }
     if (($token = $this->securityContext->getToken()) && ($loggedUser = $token->getUser()) && $loggedUser->getId() === $user->getId()) {
         $event->stopPropagation();
         $this->session->getBag('flashes')->add('error', 'Cannot remove currently logged in user.');
     }
 }