| Server IP : 213.186.33.4 / Your IP : 216.73.216.193 Web Server : Apache System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : awebpaca ( 35430) PHP Version : 8.5.0 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/a/w/e/awebpaca/Dolibarr/htdocs/includes/stripe/tests/ |
Upload File : |
<?php
namespace Stripe;
class CollectionTest extends TestCase
{
private function pageableModelResponse($ids, $hasMore)
{
$data = array();
foreach ($ids as $id) {
array_push($data, array(
'id' => $id,
'object' => 'pageablemodel'
));
}
return array(
'object' => 'list',
'url' => '/v1/pageablemodels',
'data' => $data,
'has_more' => $hasMore
);
}
public function testAutoPagingOnePage()
{
$collection = Collection::constructFrom(
$this->pageableModelResponse(array('pm_123', 'pm_124'), false),
new Util\RequestOptions()
);
$seen = array();
foreach ($collection->autoPagingIterator() as $item) {
array_push($seen, $item['id']);
}
$this->assertSame($seen, array('pm_123', 'pm_124'));
}
public function testAutoPagingThreePages()
{
$collection = Collection::constructFrom(
$this->pageableModelResponse(array('pm_123', 'pm_124'), true),
new Util\RequestOptions()
);
$collection->setRequestParams(array('foo' => 'bar'));
$this->mockRequest(
'GET',
'/v1/pageablemodels',
array(
'foo' => 'bar',
'starting_after' => 'pm_124'
),
$this->pageableModelResponse(array('pm_125', 'pm_126'), true)
);
$this->mockRequest(
'GET',
'/v1/pageablemodels',
array(
'foo' => 'bar',
'starting_after' => 'pm_126'
),
$this->pageableModelResponse(array('pm_127'), false)
);
$seen = array();
foreach ($collection->autoPagingIterator() as $item) {
array_push($seen, $item['id']);
}
$this->assertSame($seen, array('pm_123', 'pm_124', 'pm_125', 'pm_126', 'pm_127'));
}
public function testIteratorToArray()
{
$collection = Collection::constructFrom(
$this->pageableModelResponse(array('pm_123', 'pm_124'), true),
new Util\RequestOptions()
);
$this->mockRequest(
'GET',
'/v1/pageablemodels',
array(
'starting_after' => 'pm_124'
),
$this->pageableModelResponse(array('pm_125', 'pm_126'), true)
);
$this->mockRequest(
'GET',
'/v1/pageablemodels',
array(
'starting_after' => 'pm_126'
),
$this->pageableModelResponse(array('pm_127'), false)
);
$seen = array();
foreach (iterator_to_array($collection->autoPagingIterator()) as $item) {
array_push($seen, $item['id']);
}
$this->assertSame($seen, array('pm_123', 'pm_124', 'pm_125', 'pm_126', 'pm_127'));
}
}