Skip to content

Instantly share code, notes, and snippets.

@cursedcoder
Created April 5, 2012 13:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cursedcoder/2310987 to your computer and use it in GitHub Desktop.
Save cursedcoder/2310987 to your computer and use it in GitHub Desktop.
<?php
namespace Knp\Bundle\LastTweetsBundle\Tests\Twitter\LastTweetsFetcher;
use Knp\Bundle\LastTweetsBundle\Twitter\LastTweetsFetcher\ApiFetcher;
use Knp\Bundle\LastTweetsBundle\Twitter\Tweet;
class ApiFetcherTest extends \PHPUnit_Framework_TestCase
{
const CLASSNAME = 'Knp\Bundle\LastTweetsBundle\Twitter\LastTweetsFetcher\ApiFetcher';
public function testRealFetchWithLimit()
{
$fixture = json_encode(array(
'one' => array('id' => 1, 'id_str' => 1, 'text' => 'asdasdasd', 'created_at' => 'Thu Apr 04 11:58:04 +0000 2012'),
'two' => array('id' => 2, 'id_str' => 2, 'text' => 'asdasdasd2', 'created_at' => 'Thu Apr 05 12:45:43 +0000 2012'),
'three' => array('id' => 3, 'id_str' => 3, 'text' => 'asdasdasd3', 'created_at' => 'Thu Apr 06 13:22:28 +0000 2012'),
'four' => array('id' => 4, 'id_str' => 4, 'text' => 'asdasdasd4', 'created_at' => 'Thu Apr 07 14:36:01 +0000 2012')
));
$mockedBrowser = $this->getMockedBrowser();
$mockedResponse = $this->getMockedResponse($fixture);
$mockedBrowser->expects($this->exactly(2))
->method('get')
->will($this->returnValue($mockedResponse));
$fetcher = new ApiFetcher($mockedBrowser);
$tweets = $fetcher->fetch(array('knplabs', 'knplabsru'), 4);
$this->assertCount(4, $tweets);
}
protected function getMockedBrowser()
{
$browser = $this->getMock('Buzz\Browser');
return $browser;
}
protected function getMockedResponse($fixture)
{
$response = $this->getMock('Buzz\Browser\Message\Response', array('getContent'));
$response->expects($this->atLeastOnce())
->method('getContent')
->will($this->returnValue($fixture));
return $response;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment