function CommentNonNodeTest::setUp

Same name in other branches
  1. 9 core/modules/comment/tests/src/Functional/CommentNonNodeTest.php \Drupal\Tests\comment\Functional\CommentNonNodeTest::setUp()
  2. 8.9.x core/modules/comment/tests/src/Functional/CommentNonNodeTest.php \Drupal\Tests\comment\Functional\CommentNonNodeTest::setUp()
  3. 10 core/modules/comment/tests/src/Functional/CommentNonNodeTest.php \Drupal\Tests\comment\Functional\CommentNonNodeTest::setUp()

Overrides BrowserTestBase::setUp

File

core/modules/comment/tests/src/Functional/CommentNonNodeTest.php, line 63

Class

CommentNonNodeTest
Tests commenting on a test entity.

Namespace

Drupal\Tests\comment\Functional

Code

protected function setUp() : void {
    parent::setUp();
    $this->drupalPlaceBlock('system_breadcrumb_block');
    $this->drupalPlaceBlock('page_title_block');
    // Create a bundle for entity_test.
    entity_test_create_bundle('entity_test', 'Entity Test', 'entity_test');
    CommentType::create([
        'id' => 'comment',
        'label' => 'Comment settings',
        'description' => 'Comment settings',
        'target_entity_type_id' => 'entity_test',
    ])->save();
    // Create comment field on entity_test bundle.
    $this->addDefaultCommentField('entity_test', 'entity_test');
    // Verify that bundles are defined correctly.
    $bundles = \Drupal::service('entity_type.bundle.info')->getBundleInfo('comment');
    $this->assertEquals('Comment settings', $bundles['comment']['label']);
    // Create test user.
    $this->adminUser = $this->drupalCreateUser([
        'administer comments',
        'skip comment approval',
        'post comments',
        'access comments',
        'view test entity',
        'administer entity_test content',
    ]);
    // Enable anonymous and authenticated user comments.
    user_role_grant_permissions(RoleInterface::ANONYMOUS_ID, [
        'access comments',
        'post comments',
        'skip comment approval',
    ]);
    user_role_grant_permissions(RoleInterface::AUTHENTICATED_ID, [
        'access comments',
        'post comments',
        'skip comment approval',
    ]);
    // Create a test entity.
    $random_label = $this->randomMachineName();
    $data = [
        'type' => 'entity_test',
        'name' => $random_label,
    ];
    $this->entity = EntityTest::create($data);
    $this->entity
        ->save();
}

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