helper = new FooSignedRequestHelper($app, new FooSignedRequestHelperFacebookClient()); } public function testSignedRequestDataCanBeRetrievedFromPostData() { $_POST['signed_request'] = 'foo_signed_request'; $rawSignedRequest = $this->helper->getRawSignedRequestFromPost(); $this->assertEquals('foo_signed_request', $rawSignedRequest); } public function testSignedRequestDataCanBeRetrievedFromCookieData() { $_COOKIE['fbsr_123'] = 'foo_signed_request'; $rawSignedRequest = $this->helper->getRawSignedRequestFromCookie(); $this->assertEquals('foo_signed_request', $rawSignedRequest); } public function testAccessTokenWillBeNullWhenAUserHasNotYetAuthorizedTheApp() { $this->helper->instantiateSignedRequest($this->rawSignedRequestUnauthorized); $accessToken = $this->helper->getAccessToken(); $this->assertNull($accessToken); } public function testAnAccessTokenCanBeInstantiatedWhenRedirectReturnsAnAccessToken() { $this->helper->instantiateSignedRequest($this->rawSignedRequestAuthorizedWithAccessToken); $accessToken = $this->helper->getAccessToken(); $this->assertInstanceOf('Facebook\Authentication\AccessToken', $accessToken); $this->assertEquals('foo_token', $accessToken->getValue()); } public function testAnAccessTokenCanBeInstantiatedWhenRedirectReturnsACode() { $this->helper->instantiateSignedRequest($this->rawSignedRequestAuthorizedWithCode); $accessToken = $this->helper->getAccessToken(); $this->assertInstanceOf('Facebook\Authentication\AccessToken', $accessToken); $this->assertEquals('foo_access_token_from:foo_code', $accessToken->getValue()); } }