/**
  * Adds user data to storage
  */
 public function addUser()
 {
     $user = new User();
     $user->setId('999999999')->setName('john')->setEmail('*****@*****.**')->setPassword('test');
     $this->userService->addUser($user);
     $this->users[] = $user;
 }
 /**
  * Testing get user by email
  */
 public function testGetByEmail()
 {
     $newUserId = '9879fgj4-dsd-fsdf-3s3u54bd-fgh4f878776sf8s7d-4535lou345';
     // Deletes user
     $this->elasticaService->deleteUser($newUserId);
     $newUser = new User();
     $newUser->setId($newUserId)->setName('John')->setEmail('*****@*****.**')->setPassword('test');
     $this->elasticaService->addUser($newUser);
     // Check if user exists
     $user = $this->elasticaService->getByEmail('*****@*****.**');
     $this->assertTrue(!empty($user));
     // Deletes user
     $this->elasticaService->deleteUser($newUserId);
 }
 /**
  * Gets the user list
  *
  * @return array of User Entity
  */
 public function getUsers()
 {
     $query = new Query('');
     $elasticaUsers = $this->index->search($query)->getResults();
     $users = array();
     foreach ($elasticaUsers as $elasticaUser) {
         $user = new User();
         $user->setId($elasticaUser->getId());
         $user->setName($elasticaUser->getData()['name']);
         $user->setEmail($elasticaUser->getData()['email']);
         $user->setPassword($elasticaUser->getData()['password']);
         $users[] = $user;
     }
     return $users;
 }
 /**
  * Edit a user.
  *
  * @param array $parameters
  *
  * @return User Entity
  */
 public function put($userID, array $parameters)
 {
     $user = new User();
     $user->setId($userID);
     return $this->processForm($user, $parameters, 'PUT');
 }