'1337' ]; $factory = $this->makeFactoryWithData($dataFromGraph); $graphNode = $factory->makeGraphAchievement(); $id = $graphNode->getId(); $this->assertEquals($dataFromGraph['id'], $id); } public function testTypeIsAlwaysString() { $dataFromGraph = [ 'id' => '1337' ]; $factory = $this->makeFactoryWithData($dataFromGraph); $graphNode = $factory->makeGraphAchievement(); $type = $graphNode->getType(); $this->assertEquals('game.achievement', $type); } public function testNoFeedStoryIsBoolean() { $dataFromGraph = [ 'no_feed_story' => (rand(0, 1) == 1) ]; $factory = $this->makeFactoryWithData($dataFromGraph); $graphNode = $factory->makeGraphAchievement(); $isNoFeedStory = $graphNode->isNoFeedStory(); $this->assertTrue(is_bool($isNoFeedStory)); } public function testDatesGetCastToDateTime() { $dataFromGraph = [ 'publish_time' => '2014-07-15T03:54:34+0000' ]; $factory = $this->makeFactoryWithData($dataFromGraph); $graphNode = $factory->makeGraphAchievement(); $publishTime = $graphNode->getPublishTime(); $this->assertInstanceOf('DateTime', $publishTime); } public function testFromGetsCastAsGraphUser() { $dataFromGraph = [ 'from' => [ 'id' => '1337', 'name' => 'Foo McBar' ] ]; $factory = $this->makeFactoryWithData($dataFromGraph); $graphNode = $factory->makeGraphAchievement(); $from = $graphNode->getFrom(); $this->assertInstanceOf('\Facebook\GraphNodes\GraphUser', $from); } public function testApplicationGetsCastAsGraphApplication() { $dataFromGraph = [ 'application' => [ 'id' => '1337' ] ]; $factory = $this->makeFactoryWithData($dataFromGraph); $graphNode = $factory->makeGraphAchievement(); $app = $graphNode->getApplication(); $this->assertInstanceOf('\Facebook\GraphNodes\GraphApplication', $app); } }