X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fcomment%2Ftests%2Fsrc%2FFunctional%2FCommentNodeAccessTest.php;fp=web%2Fcore%2Fmodules%2Fcomment%2Ftests%2Fsrc%2FFunctional%2FCommentNodeAccessTest.php;h=6842dc137fe64064811976638941a5dd5fcda70a;hp=0000000000000000000000000000000000000000;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hpb=aea91e65e895364e460983b890e295aa5d5540a5 diff --git a/web/core/modules/comment/tests/src/Functional/CommentNodeAccessTest.php b/web/core/modules/comment/tests/src/Functional/CommentNodeAccessTest.php new file mode 100644 index 000000000..6842dc137 --- /dev/null +++ b/web/core/modules/comment/tests/src/Functional/CommentNodeAccessTest.php @@ -0,0 +1,82 @@ +webUser = $this->drupalCreateUser([ + 'access comments', + 'post comments', + 'create article content', + 'edit own comments', + 'node test view', + 'skip comment approval', + ]); + + // Set the author of the created node to the web_user uid. + $this->node->setOwnerId($this->webUser->id())->save(); + } + + /** + * Test that threaded comments can be viewed. + */ + public function testThreadedCommentView() { + // Set comments to have subject required and preview disabled. + $this->drupalLogin($this->adminUser); + $this->setCommentPreview(DRUPAL_DISABLED); + $this->setCommentForm(TRUE); + $this->setCommentSubject(TRUE); + $this->setCommentSettings('default_mode', CommentManagerInterface::COMMENT_MODE_THREADED, 'Comment paging changed.'); + $this->drupalLogout(); + + // Post comment. + $this->drupalLogin($this->webUser); + $comment_text = $this->randomMachineName(); + $comment_subject = $this->randomMachineName(); + $comment = $this->postComment($this->node, $comment_text, $comment_subject); + $this->assertTrue($this->commentExists($comment), 'Comment found.'); + + // Check comment display. + $this->drupalGet('node/' . $this->node->id()); + $this->assertText($comment_subject, 'Individual comment subject found.'); + $this->assertText($comment_text, 'Individual comment body found.'); + + // Reply to comment, creating second comment. + $this->drupalGet('comment/reply/node/' . $this->node->id() . '/comment/' . $comment->id()); + $reply_text = $this->randomMachineName(); + $reply_subject = $this->randomMachineName(); + $reply = $this->postComment(NULL, $reply_text, $reply_subject, TRUE); + $this->assertTrue($this->commentExists($reply, TRUE), 'Reply found.'); + + // Go to the node page and verify comment and reply are visible. + $this->drupalGet('node/' . $this->node->id()); + $this->assertText($comment_text); + $this->assertText($comment_subject); + $this->assertText($reply_text); + $this->assertText($reply_subject); + } + +}