2015-08-17 17:00:26 -07:00
< ? php
namespace Drupal\comment\Tests ;
use Drupal\comment\CommentManagerInterface ;
/**
* Tests comments with node access .
*
* Verifies there is no PostgreSQL error when viewing a node with threaded
* comments ( a comment and a reply ), if a node access module is in use .
*
* @ group comment
*/
class CommentNodeAccessTest extends CommentTestBase {
/**
* Modules to install .
*
* @ var array
*/
public static $modules = array ( 'node_access_test' );
protected function setUp () {
parent :: setUp ();
node_access_rebuild ();
// Re-create user.
$this -> webUser = $this -> drupalCreateUser ( array (
'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 .
*/
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 );
}
2016-06-02 15:56:09 -07:00
2015-08-17 17:00:26 -07:00
}