request = new FacebookRequest( $app, 'foo_token', 'GET', '/me/photos?keep=me', ['foo' => 'bar'], 'foo_eTag', 'v1337' ); } public function testAGraphNodeWillBeCastAsAGraphNode() { $data = json_encode([ 'id' => '123', 'name' => 'Foo McBar', 'link' => 'http://facebook/foo', ]); $res = new FacebookResponse($this->request, $data); $factory = new GraphObjectFactory($res); $graphObject = $factory->makeGraphObject(); $graphData = $graphObject->asArray(); $this->assertInstanceOf('\Facebook\GraphNodes\GraphObject', $graphObject); $this->assertEquals([ 'id' => '123', 'name' => 'Foo McBar', 'link' => 'http://facebook/foo', ], $graphData); } public function testAListFromGraphWillBeCastAsAGraphEdge() { $data = json_encode([ 'data' => [ [ 'id' => '123', 'name' => 'Foo McBar', 'link' => 'http://facebook/foo', ], [ 'id' => '1337', 'name' => 'Bar McBaz', 'link' => 'http://facebook/bar', ], ], 'paging' => [ 'next' => 'http://facebook/next', 'previous' => 'http://facebook/prev', ], ]); $res = new FacebookResponse($this->request, $data); $factory = new GraphObjectFactory($res); $graphList = $factory->makeGraphList(); $graphData = $graphList->asArray(); $this->assertInstanceOf('\Facebook\GraphNodes\GraphList', $graphList); $this->assertEquals([ 'id' => '123', 'name' => 'Foo McBar', 'link' => 'http://facebook/foo', ], $graphData[0]); $this->assertEquals([ 'id' => '1337', 'name' => 'Bar McBaz', 'link' => 'http://facebook/bar', ], $graphData[1]); } }