You are here

public function NodeAccessPagerTest::testCommentPager in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/node/tests/src/Functional/NodeAccessPagerTest.php \Drupal\Tests\node\Functional\NodeAccessPagerTest::testCommentPager()

Tests the comment pager for nodes with multiple grants per realm.

File

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

Class

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

Namespace

Drupal\Tests\node\Functional

Code

public function testCommentPager() {

  // Create a node.
  $node = $this
    ->drupalCreateNode();

  // Create 60 comments.
  for ($i = 0; $i < 60; $i++) {
    $comment = Comment::create([
      'entity_id' => $node
        ->id(),
      'entity_type' => 'node',
      'field_name' => 'comment',
      'subject' => $this
        ->randomMachineName(),
      'comment_body' => [
        [
          'value' => $this
            ->randomMachineName(),
        ],
      ],
      'status' => CommentInterface::PUBLISHED,
    ]);
    $comment
      ->save();
  }
  $this
    ->drupalLogin($this->webUser);

  // View the node page. With the default 50 comments per page there should
  // be two pages (0, 1) but no third (2) page.
  $this
    ->drupalGet('node/' . $node
    ->id());
  $this
    ->assertSession()
    ->pageTextContains($node
    ->label());
  $this
    ->assertSession()
    ->pageTextContains('Comments');
  $this
    ->assertSession()
    ->responseContains('page=1');
  $this
    ->assertSession()
    ->responseNotContains('page=2');
}