From 677953067f2bb5502a70f0d004f1ac844b18a128 Mon Sep 17 00:00:00 2001 From: emkael Date: Mon, 16 Jan 2017 22:04:43 +0100 Subject: * Facebook support --- .../tests/FacebookResponseTest.php | 121 +++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100755 lib/facebook-graph-sdk/tests/FacebookResponseTest.php (limited to 'lib/facebook-graph-sdk/tests/FacebookResponseTest.php') diff --git a/lib/facebook-graph-sdk/tests/FacebookResponseTest.php b/lib/facebook-graph-sdk/tests/FacebookResponseTest.php new file mode 100755 index 0000000..21f90ae --- /dev/null +++ b/lib/facebook-graph-sdk/tests/FacebookResponseTest.php @@ -0,0 +1,121 @@ +request = new FacebookRequest( + $app, + 'foo_token', + 'GET', + '/me/photos?keep=me', + ['foo' => 'bar'], + 'foo_eTag', + 'v1337' + ); + } + + public function testAnETagCanBeProperlyAccessed() + { + $response = new FacebookResponse($this->request, '', 200, ['ETag' => 'foo_tag']); + + $eTag = $response->getETag(); + + $this->assertEquals('foo_tag', $eTag); + } + + public function testAProperAppSecretProofCanBeGenerated() + { + $response = new FacebookResponse($this->request); + + $appSecretProof = $response->getAppSecretProof(); + + $this->assertEquals('df4256903ba4e23636cc142117aa632133d75c642bd2a68955be1443bd14deb9', $appSecretProof); + } + + public function testASuccessfulJsonResponseWillBeDecodedToAGraphNode() + { + $graphResponseJson = '{"id":"123","name":"Foo"}'; + $response = new FacebookResponse($this->request, $graphResponseJson, 200); + + $decodedResponse = $response->getDecodedBody(); + $graphNode = $response->getGraphNode(); + + $this->assertFalse($response->isError(), 'Did not expect Response to return an error.'); + $this->assertEquals([ + 'id' => '123', + 'name' => 'Foo', + ], $decodedResponse); + $this->assertInstanceOf('Facebook\GraphNodes\GraphNode', $graphNode); + } + + public function testASuccessfulJsonResponseWillBeDecodedToAGraphEdge() + { + $graphResponseJson = '{"data":[{"id":"123","name":"Foo"},{"id":"1337","name":"Bar"}]}'; + $response = new FacebookResponse($this->request, $graphResponseJson, 200); + + $graphEdge = $response->getGraphEdge(); + + $this->assertFalse($response->isError(), 'Did not expect Response to return an error.'); + $this->assertInstanceOf('Facebook\GraphNodes\GraphNode', $graphEdge[0]); + $this->assertInstanceOf('Facebook\GraphNodes\GraphNode', $graphEdge[1]); + } + + public function testASuccessfulUrlEncodedKeyValuePairResponseWillBeDecoded() + { + $graphResponseKeyValuePairs = 'id=123&name=Foo'; + $response = new FacebookResponse($this->request, $graphResponseKeyValuePairs, 200); + + $decodedResponse = $response->getDecodedBody(); + + $this->assertFalse($response->isError(), 'Did not expect Response to return an error.'); + $this->assertEquals([ + 'id' => '123', + 'name' => 'Foo', + ], $decodedResponse); + } + + public function testErrorStatusCanBeCheckedWhenAnErrorResponseIsReturned() + { + $graphResponse = '{"error":{"message":"Foo error.","type":"OAuthException","code":190,"error_subcode":463}}'; + $response = new FacebookResponse($this->request, $graphResponse, 401); + + $exception = $response->getThrownException(); + + $this->assertTrue($response->isError(), 'Expected Response to return an error.'); + $this->assertInstanceOf('Facebook\Exceptions\FacebookResponseException', $exception); + } +} -- cgit v1.2.3