public function testCreateUserWithDisabledValidationWillProceedImmediatelyToSave()
 {
     $user = $this->createExampleUser();
     $this->validatorMock->expects($this->never())->method('validate');
     $this->repositoryMock->expects($this->once())->method('save')->with($user);
     $this->useCase->createUser($user, false);
 }
 /**
  * @param User $user
  * @return void
  */
 public function removeUser(User $user)
 {
     if (!$this->repository->findById($user->getId())) {
         throw new NotExistingUserException(sprintf('User with [id = %d] does not exist', $user->getId()));
     }
     $this->repository->remove($user);
     $this->repository->synchronize();
 }
 /**
  * @param User $user
  * @param bool $validate Flag used to enable validation
  */
 public function createUser(User $user, $validate = true)
 {
     if ($validate) {
         $this->validateUser($user);
     }
     $this->repository->save($user);
     $this->repository->synchronize();
 }
Example #4
0
 /**
  * @param User $user
  * @throws EditUserException
  *
  */
 private function validateUser(User $user)
 {
     if (!$this->repository->findById($user->getId())) {
         throw new NotExistingUserException(sprintf('User with [id = %d] does not exist', $user->getId()));
     }
     $violations = $this->validator->validate($user);
     if ($violations->count()) {
         throw new EditUserException($violations, 'Invalid User entity.');
     }
 }
 public function testListUsers()
 {
     $user1 = new User();
     $user1->setFirstName('Wincenty')->setLastName('Kwiatek');
     $user2 = new User();
     $user2->setFirstName('Zenon')->setLastName('Majkowski');
     $expectedUsers = [$user1, $user2];
     $this->repositoryMock->expects($this->any())->method('search')->will($this->returnValue($expectedUsers));
     $this->assertSame($expectedUsers, $this->useCase->listUsers());
 }
 /**
  * @param PhoneNumber $number
  * @param User $user
  * @throws NotExistingUserException
  * @throws AddNumberToUserException
  */
 private function validateInput(PhoneNumber $number, User $user)
 {
     if (!$this->userRepository->findById($user->getId())) {
         throw new NotExistingUserException(sprintf('User with [id = %d] does not exist', $user->getId()));
     }
     $violations = $this->validator->validate($number);
     if ($violations->count()) {
         throw new AddNumberToUserException($violations);
     }
 }
 public function testAddNumberToUserValidationPassesWillProceedToSaveUser()
 {
     $user = $this->createExampleUser();
     $number = $this->createExamplePhoneNumber();
     $this->userRepositoryMock->expects($this->once())->method('findById')->with(100)->will($this->returnValue($user));
     $this->validatorMock->expects($this->once())->method('validate')->with($number)->will($this->returnValue(new ConstraintViolationList()));
     $this->numberRepositoryMock->expects($this->once())->method('save')->with($number);
     $this->useCase->addNumberToUser($number, $user);
     $this->assertSame($number, $user->getPhoneNumbers()->get(0));
     $this->assertSame($user, $number->getOwner());
 }
 public function testGetUser()
 {
     $user = new User();
     $this->repositoryMock->expects($this->once())->method('findById')->will($this->returnValue($user));
     $this->assertSame($user, $this->useCase->getUser(1));
 }
Example #9
0
 /**
  * @param UserSearch|null $search
  * @return User[]
  */
 public function listUsers(UserSearch $search = null)
 {
     return $this->repository->search($search);
 }
Example #10
0
 /**
  * @param integer $id
  * @return User|object|null
  */
 public function getUser($id)
 {
     return $this->repository->findById($id);
 }
 public function testRemoveExistingUserWillProceedWithRemovingFromRepository()
 {
     $this->repositoryMock->expects($this->once())->method('findById')->will($this->returnValue($this->createExampleUser()));
     $this->repositoryMock->expects($this->once())->method('remove');
     $this->useCase->removeUser($this->createExampleUser());
 }