function CommentFieldsTest::testCommentEnable

7.x comment.test CommentFieldsTest::testCommentEnable()

Test that comment module works when enabled after a content module.

File

drupal-7.x/modules/comment/comment.test, line 2047
Tests for comment.module.

Class

CommentFieldsTest
Test fields on comments.

Code

function testCommentEnable() {
  // Create a user to do module administration.
  $this->admin_user = $this->drupalCreateUser(array('access administration pages', 'administer modules'));
  $this->drupalLogin($this->admin_user);

  // Disable the comment module.
  $edit = array();
  $edit['modules[Core][comment][enable]'] = FALSE;
  $this->drupalPost('admin/modules', $edit, t('Save configuration'));
  $this->resetAll();
  $this->assertFalse(module_exists('comment'), 'Comment module disabled.');

  // Enable core content type modules (blog, book, and poll).
  $edit = array();
  $edit['modules[Core][blog][enable]'] = 'blog';
  $edit['modules[Core][book][enable]'] = 'book';
  $edit['modules[Core][poll][enable]'] = 'poll';
  $this->drupalPost('admin/modules', $edit, t('Save configuration'));
  $this->resetAll();

  // Now enable the comment module.
  $edit = array();
  $edit['modules[Core][comment][enable]'] = 'comment';
  $this->drupalPost('admin/modules', $edit, t('Save configuration'));
  $this->resetAll();
  $this->assertTrue(module_exists('comment'), 'Comment module enabled.');

  // Create nodes of each type.
  $blog_node = $this->drupalCreateNode(array('type' => 'blog'));
  $book_node = $this->drupalCreateNode(array('type' => 'book'));
  $poll_node = $this->drupalCreateNode(array('type' => 'poll', 'active' => 1, 'runtime' => 0, 'choice' => array(array('chtext' => ''))));

  $this->drupalLogout();

  // Try to post a comment on each node. A failure will be triggered if the
  // comment body is missing on one of these forms, due to postComment()
  // asserting that the body is actually posted correctly.
  $this->web_user = $this->drupalCreateUser(array('access content', 'access comments', 'post comments', 'skip comment approval'));
  $this->drupalLogin($this->web_user);
  $this->postComment($blog_node, $this->randomName(), $this->randomName());
  $this->postComment($book_node, $this->randomName(), $this->randomName());
  $this->postComment($poll_node, $this->randomName(), $this->randomName());
}