46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | 
 | ||
|  | /* | ||
|  |  * This file is part of the overtrue/socialite. | ||
|  |  * | ||
|  |  * (c) overtrue <i@overtrue.me> | ||
|  |  * | ||
|  |  * This source file is subject to the MIT license that is bundled | ||
|  |  * with this source code in the file LICENSE. | ||
|  |  */ | ||
|  | 
 | ||
|  | use Overtrue\Socialite\AccessToken; | ||
|  | use Overtrue\Socialite\User; | ||
|  | use PHPUnit\Framework\TestCase; | ||
|  | 
 | ||
|  | class UserTest extends TestCase | ||
|  | { | ||
|  |     public function testJsonserialize() | ||
|  |     { | ||
|  |         $this->assertSame('[]', json_encode(new User([]))); | ||
|  | 
 | ||
|  |         $this->assertSame('{"token":"mock-token"}', json_encode(new User(['token' => new AccessToken(['access_token' => 'mock-token'])]))); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function test_it_can_get_refresh_token() | ||
|  |     { | ||
|  |         $user = new User([ | ||
|  |             'access_token' => 'mock-token', | ||
|  |             'refresh_token' => 'fake_refresh', | ||
|  |         ]); | ||
|  | 
 | ||
|  |         // 能通过用 User 对象获取 refresh token
 | ||
|  |         $this->assertSame('fake_refresh', $user->getRefreshToken()); | ||
|  |         // json 序列化只有 token 字段
 | ||
|  |         $this->assertSame('{"access_token":"mock-token","refresh_token":"fake_refresh"}', json_encode($user)); | ||
|  | 
 | ||
|  |         $user = new User([]); | ||
|  |         $user->setToken(new AccessToken([ | ||
|  |             'access_token' => 'mock-token', | ||
|  |             'refresh_token' => 'fake_refresh', | ||
|  |         ])); | ||
|  |         $this->assertSame('fake_refresh', $user->getRefreshToken()); | ||
|  |         $this->assertSame('{"token":"mock-token","access_token":"mock-token","refresh_token":"fake_refresh"}', json_encode($user)); | ||
|  |     } | ||
|  | } |