function NodeAccessPagerTest::testForumPager

Same name and namespace in other branches
  1. 9 core/modules/node/tests/src/Functional/NodeAccessPagerTest.php \Drupal\Tests\node\Functional\NodeAccessPagerTest::testForumPager()
  2. 8.9.x core/modules/node/tests/src/Functional/NodeAccessPagerTest.php \Drupal\Tests\node\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/forum/tests/src/Functional/NodeAccessPagerTest.php, line 50

Class

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

Namespace

Drupal\Tests\forum\Functional

Code

public function testForumPager() : void {
  // 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.