/**
  * Automatic register process
  *
  * @param FacebookUser $facebookUser
  *
  * @return ClientInterface
  */
 protected function autoRegisterClient(FacebookUser $facebookUser)
 {
     $firstName = $facebookUser->getFirstName();
     $lastName = $facebookUser->getLastName();
     $email = $facebookUser->getEmail();
     /** @var $client ClientInterface */
     $client = $this->clientManager->initResource();
     $client->getClientDetails()->setUsername($email);
     $client->getClientDetails()->setPassword(Helper::generateRandomPassword());
     $client->getContactDetails()->setEmail($email);
     $client->getContactDetails()->setFirstName($firstName);
     $client->getContactDetails()->setLastName($lastName);
     $client->getContactDetails()->setPhone(' ');
     $client->getContactDetails()->setSecondaryPhone(' ');
     $this->clientManager->createResource($client);
     return $client;
 }
 public function testCanGetAllDataBackAsArray()
 {
     $data = $this->user->asArray();
     $expectedData = ['id' => '4', 'picture' => ['data' => ['url' => 'foo.com/pic.jpg']], 'first_name' => 'Mark', 'last_name' => 'Zuck', 'foo' => 'bar', 'picture_url' => 'foo.com/pic.jpg'];
     $this->assertEquals($expectedData, $data);
 }
 public function testCanGetAllDataBackAsAnArray()
 {
     $data = $this->user->toArray();
     $expectedData = ['id' => '4', 'picture' => ['data' => ['is_silhouette' => true, 'url' => 'foo.com/pic.jpg']], 'cover' => ['id' => '123', 'source' => 'foo.com/cover.jpg'], 'first_name' => 'Mark', 'last_name' => 'Zuck', 'foo' => 'bar', 'picture_url' => 'foo.com/pic.jpg', 'is_silhouette' => true, 'cover_photo_url' => 'foo.com/cover.jpg'];
     $this->assertEquals($expectedData, $data);
 }