/** * @param HHPnet\Core\Application\Services\Users\SignUpUser\SignUpUserRequest $request */ public function it_is_not_possible_to_register_a_given_user_twice(SignUpUserRequest $request) { $request->username()->willReturn('test'); $request->password()->willReturn('test'); $request->email()->willReturn('test'); $this->repository->getByEmail('test')->willReturn(true); $this->shouldThrow('\\DomainException')->during('execute', array($request)); }
/** * @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); }