From b149b13b4e908f6567266b5df688f899a3ebc75d Mon Sep 17 00:00:00 2001 From: Pierre Grimaud Date: Wed, 29 May 2019 11:57:45 +0200 Subject: [PATCH] Add test for update code coverage --- tests/ApiTest.php | 35 ++- tests/fixtures/statement.paris.html | 349 ++++++++++++++++++++++++++++ 2 files changed, 381 insertions(+), 3 deletions(-) create mode 100644 tests/fixtures/statement.paris.html diff --git a/tests/ApiTest.php b/tests/ApiTest.php index e12e9cd..4405876 100644 --- a/tests/ApiTest.php +++ b/tests/ApiTest.php @@ -40,6 +40,11 @@ class ApiTest extends \PHPUnit_Framework_TestCase */ private $validHtmlClient; + /** + * @var Client + */ + private $validStatementHtmlClient; + /** * @var Client */ @@ -71,9 +76,10 @@ public function setUp() copy(__DIR__ . '/cache/invalid/demo.cache', __DIR__ . '/cache/invalid/pgrimaud.cache'); - $validHtmlFixtures = file_get_contents(__DIR__ . '/fixtures/pgrimaud.html'); - $invalidHtmlJsonFixtures = file_get_contents(__DIR__ . '/fixtures/invalid_pgrimaud.html'); - $invalidHtmlFixtures = ''; + $validHtmlFixtures = file_get_contents(__DIR__ . '/fixtures/pgrimaud.html'); + $validStatementHtmlFixtures = file_get_contents(__DIR__ . '/fixtures/statement.paris.html'); + $invalidHtmlJsonFixtures = file_get_contents(__DIR__ . '/fixtures/invalid_pgrimaud.html'); + $invalidHtmlFixtures = ''; $validJsonFixtures = file_get_contents(__DIR__ . '/fixtures/pgrimaud.json'); $invalidJsonFixtures = ''; @@ -87,6 +93,11 @@ public function setUp() $handler = HandlerStack::create($mock); $this->validHtmlClient = new Client(['handler' => $handler]); + $response = new Response(200, $headers, $validStatementHtmlFixtures); + $mock = new MockHandler([$response]); + $handler = HandlerStack::create($mock); + $this->validStatementHtmlClient = new Client(['handler' => $handler]); + $response = new Response(200, [], $invalidHtmlFixtures); $mock = new MockHandler([$response]); $handler = HandlerStack::create($mock); @@ -350,4 +361,22 @@ public function testHtmlFeedWithNoCacheManager() $api->setEndCursor('endCursor'); $api->getFeed(); } + + /** + * @throws CacheException + * @throws InstagramException + * @throws \GuzzleHttp\Exception\GuzzleException + */ + public function testStatementHtmlFeedWithVideoPost() + { + $api = new Api($this->validCacheManager, $this->validStatementHtmlClient); + $api->setUserName('statement.paris'); + + $feed = $api->getFeed(); + + // fist media is a video + /** @var Media $post */ + $media = $feed->getMedias()[0]; + $this->assertSame(199, $media->getVideoViewCount()); + } } diff --git a/tests/fixtures/statement.paris.html b/tests/fixtures/statement.paris.html new file mode 100644 index 0000000..62d9337 --- /dev/null +++ b/tests/fixtures/statement.paris.html @@ -0,0 +1,349 @@ + + + + + + + + + STATEMENT (@statement.paris) • Instagram photos and videos + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +