1
0
mirror of https://github.com/e107inc/e107.git synced 2025-02-23 08:15:39 +01:00

Tests for e_tree_model::prepareSimulatedPagination

https://github.com/e107inc/e107/issues/3034
This commit is contained in:
Deltik 2018-02-15 14:21:50 -06:00
parent dbaa444977
commit ccb108d098
No known key found for this signature in database
GPG Key ID: 1167C5F9C9897637

View File

@ -14,6 +14,7 @@ class TreeModelTest extends \Codeception\Test\Unit
protected function _before()
{
$class = new \ReflectionClass('e_tree_model');
$method = $class->getMethod('arrayToTree');
$method->setAccessible(true);
$this->tree = $method->invoke(null, $this->sample_rows, $this->sample_key, $this->sample_parent_key);
@ -92,6 +93,35 @@ class TreeModelTest extends \Codeception\Test\Unit
$this->assertLessThanOrEqual($l2_3, $l2_2);
}
public function testPrepareSimulatedPaginationProcessesCountOnly()
{
$tree_model = $this->make('e_tree_model');
$tree_model->setParam('db_query', 'ORDER BY n.news_sticky DESC, n.news_datestamp DESC LIMIT 4');
$class = new \ReflectionClass(get_class($tree_model));
$method = $class->getMethod('prepareSimulatedPagination');
$method->setAccessible(true);
$method->invoke($tree_model);
$this->assertEquals('ORDER BY n.news_sticky DESC, n.news_datestamp DESC', trim($tree_model->getParam('db_query')));
$this->assertEquals('4', $tree_model->getParam('db_limit_count'));
$this->assertEmpty($tree_model->getParam('db_limit_offset'));
}
public function testPrepareSimulatedPaginationProcessesOffsetAndCount()
{
$tree_model = $this->make('e_tree_model');
$tree_model->setParam('db_query', 'ORDER BY n.news_sticky DESC, n.news_datestamp DESC LIMIT 79,163');
$class = new \ReflectionClass(get_class($tree_model));
$method = $class->getMethod('prepareSimulatedPagination');
$method->setAccessible(true);
$method->invoke($tree_model);
$this->assertEquals('ORDER BY n.news_sticky DESC, n.news_datestamp DESC', trim($tree_model->getParam('db_query')));
$this->assertEquals('163', $tree_model->getParam('db_limit_count'));
$this->assertEquals('79', $tree_model->getParam('db_limit_offset'));
}
protected $sample_rows =
array (
1 =>