/**
  * @test
  */
 public function shouldCreateTheUser()
 {
     $this->userSessionFactory->shouldReceive('create');
     $user = $this->createUser();
     $userToken = $this->createUserToken();
     $this->repository->create($user, $userToken);
 }
Exemplo n.º 2
0
 /**
  * @param User $user
  *
  * @return UserSession
  *
  * @throws AuthenticationFailException
  */
 public function login(User $user) : UserSession
 {
     if (!$this->userRepository->exists($user)) {
         throw new AuthenticationFailException('User not exists');
     }
     $userSession = $this->userSessionRepository->getByUser($user);
     if (!$userSession) {
         $userToken = $this->userTokenFactory->create($user);
         /** @var UserSession $userSession */
         $userSession = $this->userSessionFactory->create();
         $userSession->setUser($user);
         $userSession->setToken($userToken);
         $this->userSessionRepository->save($userSession);
     }
     return $userSession;
 }