/** * Instantiate a new GraphEdge from response. * * @param string|null $subclassName The GraphNode subclass to cast list items to. * @param boolean $auto_prefix Toggle to auto-prefix the subclass name. * * @return \Facebook\GraphNodes\GraphEdge * * @throws FacebookSDKException */ public function getGraphEdge($subclassName = null, $auto_prefix = true) { $factory = new GraphNodeFactory($this); return $factory->makeGraphEdge($subclassName, $auto_prefix); }
public function testAGraphEdgeWillGenerateTheProperParentGraphEdges() { $likesList = ['data' => [['id' => '1', 'name' => 'Sammy Kaye Powers']], 'paging' => ['cursors' => ['after' => 'like_after_cursor', 'before' => 'like_before_cursor']]]; $photosList = ['data' => [['id' => '777', 'name' => 'Foo Photo', 'likes' => $likesList]], 'paging' => ['cursors' => ['after' => 'photo_after_cursor', 'before' => 'photo_before_cursor']]]; $data = json_encode(['data' => [['id' => '111', 'name' => 'Foo McBar', 'likes' => $likesList, 'photos' => $photosList], ['id' => '222', 'name' => 'Bar McBaz', 'likes' => $likesList, 'photos' => $photosList]], 'paging' => ['next' => 'http://facebook/next', 'previous' => 'http://facebook/prev']]); $res = new FacebookResponse($this->request, $data); $factory = new GraphNodeFactory($res); $graphEdge = $factory->makeGraphEdge(); $topGraphEdge = $graphEdge->getParentGraphEdge(); $childGraphEdgeOne = $graphEdge[0]['likes']->getParentGraphEdge(); $childGraphEdgeTwo = $graphEdge[1]['likes']->getParentGraphEdge(); $childGraphEdgeThree = $graphEdge[1]['photos']->getParentGraphEdge(); $childGraphEdgeFour = $graphEdge[1]['photos'][0]['likes']->getParentGraphEdge(); $this->assertNull($topGraphEdge); $this->assertEquals('/111/likes', $childGraphEdgeOne); $this->assertEquals('/222/likes', $childGraphEdgeTwo); $this->assertEquals('/222/photos', $childGraphEdgeThree); $this->assertEquals('/777/likes', $childGraphEdgeFour); }