3 namespace Drupal\Tests\views\Kernel\Plugin;
5 use Drupal\Core\Cache\CacheBackendInterface;
6 use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
7 use Drupal\views\Views;
10 * Tests pager-related APIs.
14 class PagerKernelTest extends ViewsKernelTestBase {
19 public static $testViews = ['test_pager_full'];
24 public static $modules = ['user', 'node'];
29 protected function setUp($import_test_views = TRUE) {
30 parent::setUp($import_test_views);
32 $this->installEntitySchema('node');
33 $this->installEntitySchema('user');
37 * Tests pager-related setter methods on ViewExecutable.
39 * @see \Drupal\views\ViewExecutable::setItemsPerPage
40 * @see \Drupal\views\ViewExecutable::setOffset
41 * @see \Drupal\views\ViewExecutable::setCurrentPage
43 public function testSetPagerMethods() {
44 $view = Views::getView('test_pager_full');
46 // Mark the view as cacheable in order have the cache checking working
48 $display = &$view->storage->getDisplay('default');
49 $display['display_options']['cache']['type'] = 'tag';
50 $view->storage->save();
52 $output = $view->preview();
54 \Drupal::service('renderer')->renderPlain($output);
55 $this->assertIdentical(CacheBackendInterface::CACHE_PERMANENT, $output['#cache']['max-age']);
57 foreach (['setItemsPerPage', 'setOffset', 'setCurrentPage'] as $method) {
58 $view = Views::getView('test_pager_full');
59 $view->setDisplay('default');
61 $output = $view->preview();
63 \Drupal::service('renderer')->renderPlain($output);
64 $this->assertIdentical(CacheBackendInterface::CACHE_PERMANENT, $output['#cache']['max-age'], 'Max age kept.');