| 7 forum.test | ForumTestCase::createForumTopic($forum, $container = FALSE) |
| 8 forum.test | ForumTestCase::createForumTopic($forum, $container = FALSE) |
Create forum topic.
Parameters
array $forum: Forum array.
boolean $container: True if $forum is a container.
Return value
object Topic node created.
File
- modules/
forum/ forum.test, line 402 - Tests for forum.module.
Code
function createForumTopic($forum, $container = FALSE) {
// Generate a random subject/body.
$title = $this->randomName(20);
$body = $this->randomName(200);
$langcode = LANGUAGE_NONE;
$edit = array(
"title" => $title,
"body[$langcode][0][value]" => $body,
);
$tid = $forum['tid'];
// Create the forum topic, preselecting the forum ID via a URL parameter.
$this->drupalPost('node/add/forum/' . $tid, $edit, t('Save'));
$type = t('Forum topic');
if ($container) {
$this->assertNoRaw(t('@type %title has been created.', array('@type' => $type, '%title' => $title)), t('Forum topic was not created'));
$this->assertRaw(t('The item %title is a forum container, not a forum.', array('%title' => $forum['name'])), t('Error message was shown'));
return;
}
else {
$this->assertRaw(t('@type %title has been created.', array('@type' => $type, '%title' => $title)), t('Forum topic was created'));
$this->assertNoRaw(t('The item %title is a forum container, not a forum.', array('%title' => $forum['name'])), t('No error message was shown'));
}
// Retrieve node object, ensure that the topic was created and in the proper forum.
$node = $this->drupalGetNodeByTitle($title);
$this->assertTrue($node != NULL, t('Node @title was loaded', array('@title' => $title)));
$this->assertEqual($node->taxonomy_forums[LANGUAGE_NONE][0]['tid'], $tid, 'Saved forum topic was in the expected forum');
// View forum topic.
$this->drupalGet('node/' . $node->nid);
$this->assertRaw($title, t('Subject was found'));
$this->assertRaw($body, t('Body was found'));
return $node;
}
Login or register to post comments