/** * @test */ public function shouldReturnNextResultsWithGivenModel() { $data = array(array('id' => 1), array('id' => 2), array('id' => 3)); $contentRange = array('count' => 200, 'end' => 2, 'start' => 0); $response = $this->getMockBuilder('Uphold\\HttpClient\\Message\\Response')->disableOriginalConstructor()->getMock(); $response->expects($this->once())->method('getContent')->will($this->returnValue($data)); $response->expects($this->once())->method('getContentRange')->will($this->returnValue($contentRange)); $client = $this->getMockBuilder('Uphold\\UpholdClient')->disableOriginalConstructor()->setMethods(array('get'))->getMock(); $client->expects($this->once())->method('get')->with('/path', array(), array('range' => 'items=0-49'))->will($this->returnValue($response)); $pager = new Paginator($client, '/path'); $pager->setModel('Uphold\\Model\\Transaction'); $transactions = $pager->getNext(); foreach ($transactions as $transaction) { $this->assertInstanceOf('Uphold\\Model\\Transaction', $transaction); } }
/** * {@inheritdoc} */ public function getTransactions() { $pager = new Paginator($this->client, sprintf('/me/cards/%s/transactions', $this->id)); $pager->setModel('Uphold\\Model\\Transaction'); return $pager; }
/** * {@inheritdoc} */ public function getTransactions() { $pager = new Paginator($this->client, '/reserve/transactions'); $pager->setModel('Uphold\\Model\\Transaction'); return $pager; }
/** * @test */ public function shouldReturnHydratedResults() { $client = $this->getMockBuilder('Uphold\\UpholdClient')->disableOriginalConstructor()->getMock(); $pager = new Paginator($client, '/path'); $pager->setModel('Uphold\\Model\\User'); $data = array(array('firstName' => 'foo', 'lastName' => 'bar'), array('firstName' => 'waldo', 'lastName' => 'fred')); $results = $pager->hydrate($data); foreach ($results as $key => $object) { $this->assertInstanceOf('Uphold\\Model\\User', $object); $this->assertEquals($data[$key]['firstName'], $object->getFirstName()); $this->assertEquals($data[$key]['lastName'], $object->getLastName()); } }
/** * {@inheritdoc} */ public function getTransactions($limit = null) { $pager = new Paginator($this->client, '/me/transactions', array(), array(), $limit); $pager->setModel('Uphold\\Model\\Transaction'); return $pager; }