/** * @param LoginUserRequest $request * * @return LoginUserResponse */ public function execute(LoginUserRequest $request) { $user = $this->repository->getByUsername($request->username()); if (false === $user->isValidPassword($request->password())) { throw new \InvalidArgumentException('Invalid password'); } return new LoginUserResponse($user); }
/** * @param HHPnet\Core\Domain\Users\UserRepositoryInterface $repository * @param HHPnet\Core\Domain\Users\User $user */ public function let(UserRepositoryInterface $repository, User $user) { $this->user = $user; $repository->getByUsername(Argument::any())->willReturn($this->user); $this->beConstructedWith($repository); }