public function testCreateUser()
 {
     $query = new LocationQuery();
     $query->query = new Criterion\ContentTypeIdentifier('user');
     $countUsers = $this->repository->getSearchService()->findLocations($query)->totalCount;
     $userManager = new EzSocialLoginUserManager($this->repository);
     $user = $userManager->createNewUser('new_user_login', '*****@*****.**', 'New', 'User');
     $newCountUsers = $this->repository->getSearchService()->findLocations($query)->totalCount;
     self::assertInstanceOf('\\eZ\\Publish\\Core\\Repository\\Values\\User\\User', $user);
     self::assertEquals($countUsers + 1, $newCountUsers);
     self::assertEquals('new_user_login', $user->login);
     self::assertEquals('*****@*****.**', $user->email);
 }
 /**
  * @inheritdoc
  */
 public function loadUserByOAuthUserResponse(UserResponseInterface $response)
 {
     try {
         $user = $this->userManager->findUser($response->getEmail());
     } catch (\Exception $e) {
         $username = $response->getEmail();
         $firstName = $response->getFirstName() != '' ? $response->getFirstName() : $response->getNickName();
         $lastName = $response->getLastName() != '' ? $response->getLastName() : '';
         try {
             $user = $this->userManager->createNewUser($username, $response->getEmail(), $firstName, $lastName);
         } catch (\Exception $e) {
             throw $e;
         }
     }
     return new User($user);
 }