improvements-2.x-dev/modules/improvements_comment/tests/src/Functional/ImprovementsCommentTest.php

modules/improvements_comment/tests/src/Functional/ImprovementsCommentTest.php
<?php

namespace Drupal\Tests\improvements_comment\Functional;

use Drupal\comment\Tests\CommentTestTrait;
use Drupal\Tests\BrowserTestBase;
use Drupal\Tests\improvements\Traits\ImprovementsTestTrait;
use Drupal\Tests\node\Traits\NodeCreationTrait;

class ImprovementsCommentTest extends BrowserTestBase {

  use CommentTestTrait;
  use ImprovementsTestTrait;
  use NodeCreationTrait;

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

  /**
   * {@inheritDoc}
   */
  protected static $modules = ['improvements_comment', 'node'];

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

    $this->createContentType(['type' => 'page', 'name' => 'Page']);
    $this->addDefaultCommentField('node', 'page');
  }

  /**
   * Test remove commented entity on comment form.
   *
   * @covers ::improvements_comment_page_comment_reply_result_alter()
   */
  public function testRemoveCommentedEntityOnCommentForm(): void {
    $this->installModule('improvements');
    $node = $this->createNode([
      'title' => 'Node for test ' . __FUNCTION__,
      'body' => 'Test node content',
    ]);
    $this->drupalLoginAsRoot();
    $this->drupalGet('/comment/reply/node/' . $node->id() . '/comment');
    $this->dontSeeErrorMessage();
    $web_assert = $this->assertSession();
    $web_assert->elementExists('css', '.comment-comment-form');
    $web_assert->elementNotExists('css', 'article');
  }

  /**
   * Test comment display fields "uid" and "created".
   *
   * @covers ::improvements_entity_base_field_info_alter()
   */
  public function testCommentShowAuthorAndDateFields(): void {
    $this->setFieldFormatterSettings('comment', 'comment', 'uid', ['type' => 'author']);
    $this->setFieldFormatterSettings('comment', 'comment', 'created', ['type' => 'timestamp']);

    $node = $this->createNode([
      'title' => 'Node for test ' . __FUNCTION__,
      'body' => 'Test node content',
    ]);
    $comment = $this->createComment($node);

    $this->drupalLoginAsRoot();
    $this->drupalGetEntityPage($node);
    $this->dontSeeErrorMessage();

    $web_assert = $this->assertSession();
    $web_assert->elementTextContains('css', '#comment-' . $comment->id(), 'User ID');
    $web_assert->elementTextContains('css', '#comment-' . $comment->id(), 'Date of creation');
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc