Пример #1
0
 /**
  * @param SignUpUserRequest $request
  *
  * @return SignUpUserResponse
  */
 public function execute(SignUpUserRequest $request)
 {
     try {
         $this->repository->getByEmail($request->email());
         throw new \DomainException('Given email has been found in database and can not be registered');
     } catch (\UnexpectedValueException $e) {
     }
     $save_user_result = $this->repository->save($this->factory->getUserEntity($this->repository->nextIdentity(), $request->username(), $request->password(), $request->email()));
     return new SignUpUserResponse($save_user_result);
 }
Пример #2
0
 /**
  * @param HHPnet\Core\Application\Services\Users\SignUpUser\SignUpUserRequest $request
  * @param HHPnet\Core\Domain\Users\User                                       $user
  * @param HHPnet\Core\Domain\Users\UserId                                     $user_id
  */
 public function it_is_possible_to_save_a_new_user(SignUpUserRequest $request, User $user, UserId $user_id)
 {
     $request->username()->willReturn('test');
     $request->password()->willReturn('test');
     $request->email()->willReturn('test');
     $this->factory->getUserEntity($user_id, 'test', 'test', 'test')->willReturn($user);
     $this->repository->getByEmail('test')->willThrow('\\UnexpectedValueException');
     $this->repository->save($user)->willReturn($user);
     $this->repository->nextIdentity()->willReturn($user_id);
     $this->execute($request)->shouldHaveType('HHPnet\\Core\\Application\\Services\\Users\\SignUpUser\\SignUpUserResponse');
 }
Пример #3
0
 private function getUserInstance($user_data)
 {
     if (is_null($user_data)) {
         throw new \UnexpectedValueException('User not found in database');
     }
     return $this->factory->getUserEntity(new UserId($user_data['_id']), $user_data['username'], $user_data['password'], $user_data['email']);
 }