class PagerPluginBaseTest
Same name in other branches
- 9 core/modules/views/tests/src/Unit/Plugin/pager/PagerPluginBaseTest.php \Drupal\Tests\views\Unit\Plugin\pager\PagerPluginBaseTest
- 10 core/modules/views/tests/src/Unit/Plugin/pager/PagerPluginBaseTest.php \Drupal\Tests\views\Unit\Plugin\pager\PagerPluginBaseTest
- 11.x core/modules/views/tests/src/Unit/Plugin/pager/PagerPluginBaseTest.php \Drupal\Tests\views\Unit\Plugin\pager\PagerPluginBaseTest
@coversDefaultClass \Drupal\views\Plugin\views\pager\PagerPluginBase @group views
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses \Drupal\Tests\PhpunitCompatibilityTrait
- class \Drupal\Tests\views\Unit\Plugin\pager\PagerPluginBaseTest extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of PagerPluginBaseTest
File
-
core/
modules/ views/ tests/ src/ Unit/ Plugin/ pager/ PagerPluginBaseTest.php, line 18
Namespace
Drupal\Tests\views\Unit\Plugin\pagerView source
class PagerPluginBaseTest extends UnitTestCase {
/**
* The mock pager plugin instance.
*
* @var \Drupal\views\Plugin\views\pager\PagerPluginBase|\PHPUnit\Framework\MockObject\MockObject
*/
protected $pager;
protected function setUp() {
$this->pager = $this->getMockBuilder('Drupal\\views\\Plugin\\views\\pager\\PagerPluginBase')
->disableOriginalConstructor()
->getMockForAbstractClass();
$view = $this->getMockBuilder('Drupal\\views\\ViewExecutable')
->disableOriginalConstructor()
->getMock();
$display = $this->getMockBuilder('Drupal\\views\\Plugin\\views\\display\\DisplayPluginBase')
->disableOriginalConstructor()
->getMock();
$options = [
'items_per_page' => 5,
'offset' => 1,
];
$this->pager
->init($view, $display, $options);
$this->pager->current_page = 1;
}
/**
* Tests the getItemsPerPage() method.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::getItemsPerPage()
*/
public function testGetItemsPerPage() {
$this->assertEquals(5, $this->pager
->getItemsPerPage());
}
/**
* Tests the setItemsPerPage() method.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::setItemsPerPage()
*/
public function testSetItemsPerPage() {
$this->pager
->setItemsPerPage(6);
$this->assertEquals(6, $this->pager
->getItemsPerPage());
}
/**
* Tests the getOffset() method.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::getOffset()
*/
public function testGetOffset() {
$this->assertEquals(1, $this->pager
->getOffset());
}
/**
* Tests the setOffset() method.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::setOffset()
*/
public function testSetOffset() {
$this->pager
->setOffset(2);
$this->assertEquals(2, $this->pager
->getOffset());
}
/**
* Tests the getCurrentPage() method.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::getCurrentPage()
*/
public function testGetCurrentPage() {
$this->assertEquals(1, $this->pager
->getCurrentPage());
}
/**
* Tests the setCurrentPage() method.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::setCurrentPage()
*/
public function testSetCurrentPage() {
$this->pager
->setCurrentPage(2);
$this->assertEquals(2, $this->pager
->getCurrentPage());
// A non numeric number or number below 0 should return 0.
$this->pager
->setCurrentPage('two');
$this->assertEquals(0, $this->pager
->getCurrentPage());
$this->pager
->setCurrentPage(-2);
$this->assertEquals(0, $this->pager
->getCurrentPage());
}
/**
* Tests the getTotalItems() method.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::getTotalItems()
*/
public function testGetTotalItems() {
// Should return 0 by default.
$this->assertEquals(0, $this->pager
->getTotalItems());
$this->pager->total_items = 10;
$this->assertEquals(10, $this->pager
->getTotalItems());
}
/**
* Tests the getPagerId() method.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::getPagerId()
*/
public function testGetPagerId() {
// Should return 0 if 'id' is not set.
$this->assertEquals(0, $this->pager
->getPagerId());
$this->pager->options['id'] = 1;
$this->assertEquals(1, $this->pager
->getPagerId());
}
/**
* Tests the usePager() method.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::usePager()
*/
public function testUsePager() {
$this->assertTrue($this->pager
->usePager());
}
/**
* Tests the useCountQuery() method.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::useCountQuery()
*/
public function testUseCountQuery() {
$this->assertTrue($this->pager
->useCountQuery());
}
/**
* Tests the usesExposed() method.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::usedExposed()
*/
public function testUsesExposed() {
$this->assertFalse($this->pager
->usesExposed());
}
/**
* Tests the hasMoreRecords() method.
*
* @dataProvider providerTestHasMoreRecords
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::hasMoreRecords()
*/
public function testHasMoreRecords($items_per_page, $total_items, $current_page, $has_more_records) {
$this->pager
->setItemsPerPage($items_per_page);
$this->pager->total_items = $total_items;
$this->pager
->setCurrentPage($current_page);
$this->assertEquals($has_more_records, $this->pager
->hasMoreRecords());
}
/**
* Provides test data for the hasMoreRecord method test.
*
* @see self::testHasMoreRecords
*/
public function providerTestHasMoreRecords() {
return [
// No items per page, so there can't be more available records.
[
0,
0,
0,
FALSE,
],
[
0,
10,
0,
FALSE,
],
// The amount of total items equals the items per page, so there is no
// next page available.
[
5,
5,
0,
FALSE,
],
// There is one more item, and we are at the first page.
[
5,
6,
0,
TRUE,
],
// Now we are on the second page, which has just a single one left.
[
5,
6,
1,
FALSE,
],
// Increase the total items, so we have some available on the third page.
[
5,
12,
1,
TRUE,
],
];
}
/**
* Tests the executeCountQuery method without a set offset.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::executeCountQuery()
*/
public function testExecuteCountQueryWithoutOffset() {
$statement = $this->createMock('\\Drupal\\Tests\\views\\Unit\\Plugin\\pager\\TestStatementInterface');
$statement->expects($this->once())
->method('fetchField')
->will($this->returnValue(3));
$query = $this->getMockBuilder('\\Drupal\\Core\\Database\\Query\\Select')
->disableOriginalConstructor()
->getMock();
$query->expects($this->once())
->method('execute')
->will($this->returnValue($statement));
$this->pager
->setOffset(0);
$this->assertEquals(3, $this->pager
->executeCountQuery($query));
}
/**
* Tests the executeCountQuery method with a set offset.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::executeCountQuery()
*/
public function testExecuteCountQueryWithOffset() {
$statement = $this->createMock('\\Drupal\\Tests\\views\\Unit\\Plugin\\pager\\TestStatementInterface');
$statement->expects($this->once())
->method('fetchField')
->will($this->returnValue(3));
$query = $this->getMockBuilder('\\Drupal\\Core\\Database\\Query\\Select')
->disableOriginalConstructor()
->getMock();
$query->expects($this->once())
->method('execute')
->will($this->returnValue($statement));
$this->pager
->setOffset(2);
$this->assertEquals(1, $this->pager
->executeCountQuery($query));
}
/**
* Tests the executeCountQuery method with an offset larger than result count.
*
* @see \Drupal\views\Plugin\views\pager\PagerPluginBase::executeCountQuery()
*/
public function testExecuteCountQueryWithOffsetLargerThanResult() {
$statement = $this->createMock(TestStatementInterface::class);
$statement->expects($this->once())
->method('fetchField')
->will($this->returnValue(2));
$query = $this->getMockBuilder(Select::class)
->disableOriginalConstructor()
->getMock();
$query->expects($this->once())
->method('execute')
->will($this->returnValue($statement));
$this->pager
->setOffset(3);
$this->assertEquals(0, $this->pager
->executeCountQuery($query));
}
}
Members
Title Sort descending | Deprecated | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|---|
PagerPluginBaseTest::$pager | protected | property | The mock pager plugin instance. | |||
PagerPluginBaseTest::providerTestHasMoreRecords | public | function | Provides test data for the hasMoreRecord method test. | |||
PagerPluginBaseTest::setUp | protected | function | Overrides UnitTestCase::setUp | |||
PagerPluginBaseTest::testExecuteCountQueryWithOffset | public | function | Tests the executeCountQuery method with a set offset. | |||
PagerPluginBaseTest::testExecuteCountQueryWithOffsetLargerThanResult | public | function | Tests the executeCountQuery method with an offset larger than result count. | |||
PagerPluginBaseTest::testExecuteCountQueryWithoutOffset | public | function | Tests the executeCountQuery method without a set offset. | |||
PagerPluginBaseTest::testGetCurrentPage | public | function | Tests the getCurrentPage() method. | |||
PagerPluginBaseTest::testGetItemsPerPage | public | function | Tests the getItemsPerPage() method. | |||
PagerPluginBaseTest::testGetOffset | public | function | Tests the getOffset() method. | |||
PagerPluginBaseTest::testGetPagerId | public | function | Tests the getPagerId() method. | |||
PagerPluginBaseTest::testGetTotalItems | public | function | Tests the getTotalItems() method. | |||
PagerPluginBaseTest::testHasMoreRecords | public | function | Tests the hasMoreRecords() method. | |||
PagerPluginBaseTest::testSetCurrentPage | public | function | Tests the setCurrentPage() method. | |||
PagerPluginBaseTest::testSetItemsPerPage | public | function | Tests the setItemsPerPage() method. | |||
PagerPluginBaseTest::testSetOffset | public | function | Tests the setOffset() method. | |||
PagerPluginBaseTest::testUseCountQuery | public | function | Tests the useCountQuery() method. | |||
PagerPluginBaseTest::testUsePager | public | function | Tests the usePager() method. | |||
PagerPluginBaseTest::testUsesExposed | public | function | Tests the usesExposed() method. | |||
PhpunitCompatibilityTrait::getMock | Deprecated | public | function | Returns a mock object for the specified class using the available method. | ||
PhpunitCompatibilityTrait::setExpectedException | Deprecated | public | function | Compatibility layer for PHPUnit 6 to support PHPUnit 4 code. | ||
UnitTestCase::$randomGenerator | protected | property | The random generator. | |||
UnitTestCase::$root | protected | property | The app root. | 1 | ||
UnitTestCase::assertArrayEquals | protected | function | Asserts if two arrays are equal by sorting them first. | |||
UnitTestCase::getBlockMockWithMachineName | Deprecated | protected | function | Mocks a block with a block plugin. | 1 | |
UnitTestCase::getClassResolverStub | protected | function | Returns a stub class resolver. | |||
UnitTestCase::getConfigFactoryStub | public | function | Returns a stub config factory that behaves according to the passed array. | |||
UnitTestCase::getConfigStorageStub | public | function | Returns a stub config storage that returns the supplied configuration. | |||
UnitTestCase::getContainerWithCacheTagsInvalidator | protected | function | Sets up a container with a cache tags invalidator. | |||
UnitTestCase::getRandomGenerator | protected | function | Gets the random generator for the utility methods. | |||
UnitTestCase::getStringTranslationStub | public | function | Returns a stub translation manager that just returns the passed string. | |||
UnitTestCase::randomMachineName | public | function | Generates a unique random string containing letters and numbers. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.