public function testSocialLoginCreateNewAccount()
{
$data = ['provider' => SocialAccountsTable::PROVIDER_TWITTER, 'email' => '[email protected]', 'id' => 'no-existing-reference', 'link' => 'link', 'first_name' => 'First Name', 'last_name' => 'Last Name', 'raw' => ['id' => 'no-existing-reference', 'first_name' => 'First Name', 'last_name' => 'Last Name', 'gender' => 'male', 'user_email' => '[email protected]', 'twitter' => 'link'], 'info' => ['first_name' => 'First Name', 'last_name' => 'Last Name', 'urls' => ['twitter' => 'twitter']], 'validated' => true, 'credentials' => ['token' => 'token', 'token_secret' => 'secret', 'token_expires' => '']];
$options = ['use_email' => 0, 'validate_email' => 0, 'token_expiration' => 3600];
$result = $this->Users->socialLogin($data, $options);
$this->assertNotEmpty($result);
$this->assertEquals('no-existing-reference', $result->social_accounts[0]->reference);
$this->assertEquals(1, count($result->social_accounts));
$this->assertEquals('username', $result->username);
$this->assertEquals('First Name', $result->first_name);
$this->assertEquals('Last Name', $result->last_name);
}