public function testGetAccessTokenWhenFromCode() { $test_user = create_test_user(); $access_token = new \Gajus\Fuss\AccessToken($this->app, $test_user['access_token'], \Gajus\Fuss\AccessToken::TYPE_USER); $access_token->extend(); $code = $access_token->getCode(); $signed_request = make_signed_request(['code' => $code]); $access_token = $signed_request->getAccessToken(); $this->assertInstanceOf('Gajus\\Fuss\\AccessToken', $access_token); // "In some cases, this newer long-lived token might be identical to the previous one, but we can't guarantee it and your app shouldn't depend upon it." // @see https://developers.facebook.com/docs/facebook-login/access-tokens#refreshtokens #$this->assertSame($test_user['access_token'], $access_token->getPlain()); $this->assertSame($test_user['id'], $access_token->getInfo()['data']['user_id']); }
/** * @expectedException Gajus\Fuss\Exception\AccessTokenException * @expectedExceptionMessage Short-lived access token cannot be used to get code. */ public function testExchangeShortLivedAccessTokenForCode() { $user = create_test_user(); $access_token = new Gajus\Fuss\AccessToken($this->app, $user['access_token'], Gajus\Fuss\AccessToken::TYPE_USER); $this->assertFalse($access_token->isLong()); $access_token->getCode(); }