예제 #1
0
 /**
  * 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);
 }
예제 #2
0
 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);
 }