function NodeAccessPagerTest::testForumPager

Same name in other branches
  1. 8.9.x core/modules/node/tests/src/Functional/NodeAccessPagerTest.php \Drupal\Tests\node\Functional\NodeAccessPagerTest::testForumPager()
  2. 10 core/modules/forum/tests/src/Functional/NodeAccessPagerTest.php \Drupal\Tests\forum\Functional\NodeAccessPagerTest::testForumPager()
  3. 11.x core/modules/forum/tests/src/Functional/NodeAccessPagerTest.php \Drupal\Tests\forum\Functional\NodeAccessPagerTest::testForumPager()

Tests the forum node pager for nodes with multiple grants per realm.

File

core/modules/node/tests/src/Functional/NodeAccessPagerTest.php, line 90

Class

NodeAccessPagerTest
Tests access controlled node views have the right amount of comment pages.

Namespace

Drupal\Tests\node\Functional

Code

public function testForumPager() {
    // Look up the forums vocabulary ID.
    $vid = $this->config('forum.settings')
        ->get('vocabulary');
    $this->assertNotEmpty($vid, 'Forum navigation vocabulary ID is set.');
    // Look up the general discussion term.
    $tree = \Drupal::entityTypeManager()->getStorage('taxonomy_term')
        ->loadTree($vid, 0, 1);
    $tid = reset($tree)->tid;
    $this->assertNotEmpty($tid, 'General discussion term is found in the forum vocabulary.');
    // Create 30 nodes.
    for ($i = 0; $i < 30; $i++) {
        $this->drupalCreateNode([
            'nid' => NULL,
            'type' => 'forum',
            'taxonomy_forums' => [
                [
                    'target_id' => $tid,
                ],
            ],
        ]);
    }
    // View the general discussion forum page. With the default 25 nodes per
    // page there should be two pages for 30 nodes, no more.
    $this->drupalLogin($this->webUser);
    $this->drupalGet('forum/' . $tid);
    $this->assertSession()
        ->responseContains('page=1');
    $this->assertSession()
        ->responseNotContains('page=2');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.