You are here

class NodePreviewAnonymousTest in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/node/tests/src/Functional/NodePreviewAnonymousTest.php \Drupal\Tests\node\Functional\NodePreviewAnonymousTest
  2. 9 core/modules/node/tests/src/Functional/NodePreviewAnonymousTest.php \Drupal\Tests\node\Functional\NodePreviewAnonymousTest

Tests the node entity preview functionality for anonymous user.

@group node

Hierarchy

Expanded class hierarchy of NodePreviewAnonymousTest

File

core/modules/node/tests/src/Functional/NodePreviewAnonymousTest.php, line 14

Namespace

Drupal\Tests\node\Functional
View source
class NodePreviewAnonymousTest extends BrowserTestBase {

  /**
   * Enable node module to test on the preview.
   *
   * @var array
   */
  protected static $modules = [
    'node',
  ];

  /**
   * {@inheritdoc}
   */
  protected $defaultTheme = 'stark';

  /**
   * {@inheritdoc}
   */
  protected function setUp() : void {
    parent::setUp();

    // Create Basic page node type.
    $this
      ->drupalCreateContentType([
      'type' => 'page',
      'name' => 'Basic page',
      'display_submitted' => FALSE,
    ]);

    // Grant create and editing permissions to anonymous user:
    $anonymous_role = Role::load(AccountInterface::ANONYMOUS_ROLE);
    $anonymous_role
      ->grantPermission('create page content');
    $anonymous_role
      ->save();
  }

  /**
   * Checks the node preview functionality for anonymous users.
   */
  public function testAnonymousPagePreview() {
    $title_key = 'title[0][value]';
    $body_key = 'body[0][value]';

    // Fill in node creation form and preview node.
    $edit = [
      $title_key => $this
        ->randomMachineName(),
      $body_key => $this
        ->randomMachineName(),
    ];
    $this
      ->drupalGet('node/add/page');
    $this
      ->submitForm($edit, 'Preview');

    // Check that the preview is displaying the title, body and term.
    $this
      ->assertSession()
      ->linkExists('Back to content editing');
    $this
      ->assertSession()
      ->responseContains($edit[$body_key]);
    $this
      ->assertSession()
      ->titleEquals($edit[$title_key] . ' | Drupal');
  }

}

Members