You are here

protected function CommentNonNodeTest::setUp in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/comment/tests/src/Functional/CommentNonNodeTest.php \Drupal\Tests\comment\Functional\CommentNonNodeTest::setUp()
  2. 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 59

Class

CommentNonNodeTest
Tests commenting on a test entity.

Namespace

Drupal\Tests\comment\Functional

Code

protected function setUp() {
  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
    ->assertEqual($bundles['comment']['label'], 'Comment settings');

  // 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();
}