Mercurial > hg > cmmr2012-drupal-site
diff core/modules/comment/tests/src/Functional/CommentEntityTest.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/comment/tests/src/Functional/CommentEntityTest.php Thu Jul 05 14:24:15 2018 +0000 @@ -0,0 +1,80 @@ +<?php + +namespace Drupal\Tests\comment\Functional; + +use Drupal\comment\Entity\CommentType; +use Drupal\comment\Plugin\Field\FieldType\CommentItemInterface; +use Drupal\Core\Language\LanguageInterface; +use Drupal\comment\CommentInterface; +use Drupal\Tests\taxonomy\Functional\TaxonomyTestTrait; +use Drupal\comment\Entity\Comment; + +/** + * Tests comments with other entities. + * + * @group comment + */ +class CommentEntityTest extends CommentTestBase { + + /** + * Modules to install. + * + * @var array + */ + public static $modules = ['block', 'comment', 'node', 'history', 'field_ui', 'datetime', 'taxonomy']; + + use TaxonomyTestTrait; + + protected $vocab; + protected $commentType; + + protected function setUp() { + parent::setUp(); + + $this->vocab = $this->createVocabulary(); + $this->commentType = CommentType::create([ + 'id' => 'taxonomy_comment', + 'label' => 'Taxonomy comment', + 'description' => '', + 'target_entity_type_id' => 'taxonomy_term', + ]); + $this->commentType->save(); + $this->addDefaultCommentField( + 'taxonomy_term', + $this->vocab->id(), + 'field_comment', + CommentItemInterface::OPEN, + $this->commentType->id() + ); + } + + /** + * Tests CSS classes on comments. + */ + public function testEntityChanges() { + $this->drupalLogin($this->webUser); + // Create a new node. + $term = $this->createTerm($this->vocab, ['uid' => $this->webUser->id()]); + + // Add a comment. + /** @var \Drupal\comment\CommentInterface $comment */ + $comment = Comment::create([ + 'entity_id' => $term->id(), + 'entity_type' => 'taxonomy_term', + 'field_name' => 'field_comment', + 'uid' => $this->webUser->id(), + 'status' => CommentInterface::PUBLISHED, + 'subject' => $this->randomMachineName(), + 'language' => LanguageInterface::LANGCODE_NOT_SPECIFIED, + 'comment_body' => [LanguageInterface::LANGCODE_NOT_SPECIFIED => [$this->randomMachineName()]], + ]); + $comment->save(); + + // Request the node with the comment. + $this->drupalGet('taxonomy/term/' . $term->id()); + $settings = $this->getDrupalSettings(); + $this->assertFalse(isset($settings['ajaxPageState']['libraries']) && in_array('comment/drupal.comment-new-indicator', explode(',', $settings['ajaxPageState']['libraries'])), 'drupal.comment-new-indicator library is present.'); + $this->assertFalse(isset($settings['history']['lastReadTimestamps']) && in_array($term->id(), array_keys($settings['history']['lastReadTimestamps'])), 'history.lastReadTimestamps is present.'); + } + +}