Skip to content

Commit

Permalink
[#14639] - Added test for model paginate
Browse files Browse the repository at this point in the history
  • Loading branch information
niden committed Mar 17, 2020
1 parent 2b07bc5 commit cbd7225
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions tests/database/Paginator/Adapter/Model/PaginateCest.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
use DatabaseTester;
use Phalcon\Paginator\Adapter\Model;
use Phalcon\Paginator\Repository;
use Phalcon\Storage\Exception;
use Phalcon\Test\Fixtures\Migrations\InvoicesMigration;
use Phalcon\Test\Fixtures\Traits\DiTrait;
use Phalcon\Test\Fixtures\Traits\RecordsTrait;
Expand Down Expand Up @@ -45,6 +46,8 @@ public function _before(DatabaseTester $I)
*/
public function paginatorAdapterModelPaginate(DatabaseTester $I)
{
$I->wantToTest('Paginator\Adapter\Model - paginate()');

/** @var PDO $connection */
$connection = $I->getConnection();
$migration = new InvoicesMigration($connection);
Expand Down Expand Up @@ -106,6 +109,8 @@ public function paginatorAdapterModelPaginate(DatabaseTester $I)
*/
public function paginatorAdapterModelPaginateBind(DatabaseTester $I)
{
$I->wantToTest('Paginator\Adapter\Model - paginate() - bind');

/** @var PDO $connection */
$connection = $I->getConnection();
$migration = new InvoicesMigration($connection);
Expand Down Expand Up @@ -157,6 +162,8 @@ public function paginatorAdapterModelPaginateBind(DatabaseTester $I)
*/
public function paginatorAdapterModelPaginateParametersString(DatabaseTester $I): void
{
$I->wantToTest('Paginator\Adapter\Model - paginate() - parameters string');

/** @var PDO $connection */
$connection = $I->getConnection();
$migration = new InvoicesMigration($connection);
Expand Down Expand Up @@ -197,6 +204,8 @@ public function paginatorAdapterModelPaginateParametersString(DatabaseTester $I)
*/
public function paginatorAdapterModelPaginateParametersArrayString(DatabaseTester $I): void
{
$I->wantToTest('Paginator\Adapter\Model - paginate() - parameters array string');

/** @var PDO $connection */
$connection = $I->getConnection();
$migration = new InvoicesMigration($connection);
Expand Down Expand Up @@ -230,4 +239,59 @@ public function paginatorAdapterModelPaginateParametersArrayString(DatabaseTeste
$I->assertEquals(5, $page->getLimit());
$I->assertEquals(1, $page->getCurrent());
}


/**
* Tests Phalcon\Paginator\Adapter\QueryBuilder :: paginate()
*
* @author Phalcon Team <[email protected]>
* @since 2020-03-15
*
* @param DatabaseTester $I
* @issue 14639
*
* @group mysql
*
* @throws Exception
*/
public function paginatorAdapterModelPaginateView(DatabaseTester $I): void
{
$I->wantToTest('Paginator\Adapter\Model - paginate() - set in view');

$this->setDiService('view');

/** @var PDO $connection */
$connection = $I->getConnection();
$migration = new InvoicesMigration($connection);
$invId = ('sqlite' === $I->getDriver()) ? 'null' : 'default';

$this->insertDataInvoices($migration, 17, $invId, 2, 'ccc');
$this->insertDataInvoices($migration, 11, $invId, 3, 'aaa');
$this->insertDataInvoices($migration, 31, $invId, 1, 'aaa');
$this->insertDataInvoices($migration, 15, $invId, 2, 'bbb');

$paginator = new Model(
[
'model' => Invoices::class,
'limit' => 5,
'page' => 1,
]
);

$page = $paginator->paginate();
$I->assertCount(5, $page->getItems());

$view = $this->getService('view');
$view->setVar('page', $page);

$actual = $view->getVar('page');
$I->assertInstanceOf(Repository::class, $actual);


$view = $this->getService('view');
$view->setVar('paginate', $paginator->paginate());

$actual = $view->getVar('paginate');
$I->assertInstanceOf(Repository::class, $actual);
}
}

0 comments on commit cbd7225

Please sign in to comment.