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(); }
/** * @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)); }
/** * @param UserSearch|null $search * @return User[] */ public function listUsers(UserSearch $search = null) { return $this->repository->search($search); }
/** * @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()); }