Mercurial > hg > cmmr2012-drupal-site
diff core/modules/comment/tests/src/Functional/CommentBookTest.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/CommentBookTest.php Thu Jul 05 14:24:15 2018 +0000 @@ -0,0 +1,78 @@ +<?php + +namespace Drupal\Tests\comment\Functional; + +use Drupal\comment\CommentInterface; +use Drupal\comment\Tests\CommentTestTrait; +use Drupal\node\Entity\Node; +use Drupal\Tests\BrowserTestBase; +use Drupal\comment\Entity\Comment; + +/** + * Tests visibility of comments on book pages. + * + * @group comment + */ +class CommentBookTest extends BrowserTestBase { + + use CommentTestTrait; + + /** + * Modules to install. + * + * @var array + */ + public static $modules = ['book', 'comment']; + + protected function setUp() { + parent::setUp(); + + // Create comment field on book. + $this->addDefaultCommentField('node', 'book'); + } + + /** + * Tests comments in book export. + */ + public function testBookCommentPrint() { + $book_node = Node::create([ + 'type' => 'book', + 'title' => 'Book title', + 'body' => 'Book body', + ]); + $book_node->book['bid'] = 'new'; + $book_node->save(); + + $comment_subject = $this->randomMachineName(8); + $comment_body = $this->randomMachineName(8); + $comment = Comment::create([ + 'subject' => $comment_subject, + 'comment_body' => $comment_body, + 'entity_id' => $book_node->id(), + 'entity_type' => 'node', + 'field_name' => 'comment', + 'status' => CommentInterface::PUBLISHED, + ]); + $comment->save(); + + $commenting_user = $this->drupalCreateUser(['access printer-friendly version', 'access comments', 'post comments']); + $this->drupalLogin($commenting_user); + + $this->drupalGet('node/' . $book_node->id()); + + $this->assertText($comment_subject, 'Comment subject found'); + $this->assertText($comment_body, 'Comment body found'); + $this->assertText(t('Add new comment'), 'Comment form found'); + $this->assertField('subject[0][value]', 'Comment form subject found'); + + $this->drupalGet('book/export/html/' . $book_node->id()); + + $this->assertText(t('Comments'), 'Comment thread found'); + $this->assertText($comment_subject, 'Comment subject found'); + $this->assertText($comment_body, 'Comment body found'); + + $this->assertNoText(t('Add new comment'), 'Comment form not found'); + $this->assertNoField('subject[0][value]', 'Comment form subject not found'); + } + +}