public function testACodeCanBeUsedToObtainAnAccessToken()
 {
     $testUserAccessToken = FacebookTestHelper::$testUserAccessToken;
     $accessToken = new AccessToken($testUserAccessToken);
     $longLivedAccessToken = $accessToken->extend();
     $code = AccessToken::getCodeFromAccessToken($longLivedAccessToken);
     $accessTokenFromCode = AccessToken::getAccessTokenFromCode($code);
     $this->assertInstanceOf('Facebook\\Entities\\AccessToken', $accessTokenFromCode);
 }
 public function testAShortLivedAccessTokenCabBeExtended()
 {
     $app = new FacebookApp('123', 'foo_secret');
     $response = m::mock('Facebook\\Entities\\FacebookResponse');
     $response->shouldReceive('getDecodedBody')->once()->andReturn(['access_token' => 'long_token', 'expires' => 123, 'machine_id' => 'foo_machine']);
     $client = m::mock('Facebook\\FacebookClient');
     $client->shouldReceive('sendRequest')->with(m::type('Facebook\\Entities\\FacebookRequest'))->once()->andReturn($response);
     $accessToken = new AccessToken('foo_token');
     $longLivedAccessToken = $accessToken->extend($app, $client);
     $this->assertInstanceOf('Facebook\\Entities\\AccessToken', $longLivedAccessToken);
     $this->assertEquals('long_token', (string) $longLivedAccessToken);
     $this->assertEquals('foo_machine', $longLivedAccessToken->getMachineId());
     $this->assertEquals(time() + 123, $longLivedAccessToken->getExpiresAt()->getTimeStamp());
 }
 public function testAShortLivedAccessTokenCabBeExtended()
 {
     $app = new FacebookApp('123', 'foo_secret');
     $response = $this->createFacebookResponseMockWithDecodedBody(['access_token' => 'long_token', 'expires' => 123, 'machine_id' => 'foo_machine']);
     $client = $this->createFacebookClientMockWithResponse($response);
     $accessToken = new AccessToken('foo_token');
     $longLivedAccessToken = $accessToken->extend($app, $client);
     $this->assertInstanceOf('Facebook\\Entities\\AccessToken', $longLivedAccessToken);
     $this->assertEquals('long_token', (string) $longLivedAccessToken);
     $this->assertEquals('foo_machine', $longLivedAccessToken->getMachineId());
     $this->assertEquals(time() + 123, $longLivedAccessToken->getExpiresAt()->getTimeStamp());
 }