class AddTopicToForum in SimpleTest 6
Hierarchy
- class \DrupalTestCase extends \WebTestCase
- class \DrupalForumTestCase
- class \AddTopicToForum
- class \DrupalForumTestCase
Expanded class hierarchy of AddTopicToForum
File
- tests/
forum_module.test, line 163
View source
class AddTopicToForum extends DrupalForumTestCase {
/**
* Implementation of get_info() for information
*/
function get_info() {
return array(
'name' => t('Add/move topics'),
'desc' => 'Tests adding and moving topics within forums.',
'group' => 'Forum',
);
}
function testAddTopicToForum() {
// Attempt to create a forum
$web_user = $this
->drupalCreateUserRolePerm(array(
'access administration pages',
'administer forums',
'create forum topics',
));
$this
->drupalLoginUser($web_user);
// Generate a forum
$forum = $this
->createForum();
// Now, we try to create the topic in the forum
// Generate a random subject/body
$title = $this
->randomName(20);
$description = $this
->randomName(200);
$edit = array(
'title' => $title,
'body' => $description,
);
// Double check that the page says it has created the topic
$this
->drupalPost('node/add/forum/' . $forum['tid'], $edit, 'Save');
$type = t('Forum topic');
$this
->assertWantedRaw(t('@type %term has been created.', array(
'%term' => $title,
'@type' => $type,
)), t('New forum topic has been created'));
$this
->assertNoUnwantedRaw(t('The item %term is only a container for forums.', array(
'%term' => $forum['name'],
)), t('No error message shown'));
// Then find the new topic, load it, and make sure the text we chose appears
$new_topic = node_load(array(
'title' => $title,
), null, true);
$this
->drupalGet("node/{$new_topic->nid}");
$this
->assertWantedRaw($title, t('Looking for subject text'));
$this
->assertWantedRaw($description, t('Looking for body text'));
// Delete the topic
node_delete($new_topic->nid);
// Delete the forum we created
if (!empty($forum)) {
taxonomy_del_term($forum['tid']);
}
}
function testAddTopicToContainer() {
// Attempt to create a forum container
$web_user = $this
->drupalCreateUserRolePerm(array(
'access administration pages',
'administer forums',
'create forum topics',
));
$this
->drupalLoginUser($web_user);
// Create the container
$container = $this
->createForumContainer();
// Now, we try to create the topic in the forum
// Generate a random subject/body
$title = $this
->randomName(20);
$description = $this
->randomName(200);
$edit = array(
'title' => $title,
'body' => $description,
);
// Double check that the page says it hasn't created the topic
$this
->drupalPost('node/add/forum/' . $container['tid'], $edit, 'Save');
$type = t('Forum topic');
$this
->assertNoUnwantedRaw(t('@type %term has been created.', array(
'%term' => $title,
'@type' => $type,
)), t('No "new forum has been created" message'));
$this
->assertWantedRaw(t('The item %term is only a container for forums.', array(
'%term' => $container['name'],
)), t('Error message shown'));
// Then make sure the node does not exist
$new_topic = node_load(array(
'title' => $title,
), null, true);
$this
->assertTrue(empty($new_topic), t('There is no new topic'));
// Delete the forum container we created
if (!empty($container)) {
taxonomy_del_term($container['tid']);
}
}
function testMoveTopicToForum() {
// Attempt to create a forum
$web_user = $this
->drupalCreateUserRolePerm(array(
'access administration pages',
'administer forums',
'create forum topics',
'edit any forum topic',
));
$this
->drupalLoginUser($web_user);
$forum1 = $this
->createForum();
$forum2 = $this
->createForum();
// Now, we try to create the topic in the forum
// Generate a random subject/body
$title = $this
->randomName(20);
$description = $this
->randomName(200);
$edit = array(
'title' => $title,
'body' => $description,
);
// Double check that the page says it has created the topic
$this
->drupalPost('node/add/forum/' . $forum1['tid'], $edit, 'Save');
$type = t('Forum topic');
$this
->assertWantedRaw(t('@type %term has been created.', array(
'%term' => $title,
'@type' => $type,
)), t('New forum topic has been created'));
$this
->assertNoUnwantedRaw(t('The item %term is only a container for forums.', array(
'%term' => $forum1['name'],
)), t('No error message shown'));
// Then find the new topic and edit it to move it
$new_topic = node_load(array(
'title' => $title,
), null, true);
$vid = variable_get('forum_nav_vocabulary', '');
$edit = array(
'title' => $title,
'taxonomy[' . $vid . ']' => $forum2['tid'],
'body' => $description,
);
// Double check that the page says it has updated the topic
// Also, double check that the new forum name is there and not the old
$this
->drupalPost('node/' . $new_topic->nid . '/edit', $edit, 'Save');
$type = t('Forum topic');
$this
->assertWantedRaw(t('@type %term has been updated.', array(
'%term' => $title,
'@type' => $type,
)), t('Topic has been moved'));
$this
->assertWantedRaw($forum2['name'], t('New forum name is present'));
$this
->assertNoUnwantedRaw($forum1['name'], t('Old forum name is not present'));
// Delete the topic
node_delete($new_topic->nid);
// Delete the forums we created
if (!empty($forum1)) {
taxonomy_del_term($forum1['tid']);
}
if (!empty($forum2)) {
taxonomy_del_term($forum2['tid']);
}
}
function testMoveTopicWithCopyToForum() {
// Attempt to create a forum
$web_user = $this
->drupalCreateUserRolePerm(array(
'access administration pages',
'administer forums',
'create forum topics',
'edit any forum topic',
));
$this
->drupalLoginUser($web_user);
$forum1 = $this
->createForum();
$forum2 = $this
->createForum();
// Now, we try to create the topic in the forum
// Generate a random subject/body
$title = $this
->randomName(20);
$description = $this
->randomName(200);
$edit = array(
'title' => $title,
'body' => $description,
);
// Double check that the page says it has created the topic
$this
->drupalPost('node/add/forum/' . $forum1['tid'], $edit, 'Save');
$type = t('Forum topic');
$this
->assertWantedRaw(t('@type %term has been created.', array(
'%term' => $title,
'@type' => $type,
)), t('New forum topic has been created'));
$this
->assertNoUnwantedRaw(t('The item %term is only a container for forums.', array(
'%term' => $forum1['name'],
)), t('No error message shown'));
// Then find the new topic and edit it to move it
$new_topic = node_load(array(
'title' => $title,
), null, true);
$vid = variable_get('forum_nav_vocabulary', '');
$edit = array(
'title' => $title,
'taxonomy[' . $vid . ']' => $forum2['tid'],
'body' => $description,
);
// Double check that the page says it has updated the topic
// Also, double check that the new forum name is there and not the old
$this
->drupalPost('node/' . $new_topic->nid . '/edit', $edit, 'Save');
$type = t('Forum topic');
$this
->assertWantedRaw(t('@type %term has been updated.', array(
'%term' => $title,
'@type' => $type,
)), t('Topic has been moved'));
$this
->assertWantedRaw($forum2['name'], t('New forum name is present'));
$this
->assertNoUnwantedRaw($forum1['name'], t('Old forum name is not present'));
// Delete the topic
node_delete($new_topic->nid);
// Delete the forums we created
if (!empty($forum1)) {
taxonomy_del_term($forum1['tid']);
}
if (!empty($forum2)) {
taxonomy_del_term($forum2['tid']);
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AddTopicToForum:: |
function |
Implementation of get_info() for information Overrides DrupalForumTestCase:: |
||
AddTopicToForum:: |
function | |||
AddTopicToForum:: |
function | |||
AddTopicToForum:: |
function | |||
AddTopicToForum:: |
function | |||
DrupalForumTestCase:: |
function | |||
DrupalForumTestCase:: |
function | |||
DrupalForumTestCase:: |
function | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
property | |||
DrupalTestCase:: |
function | Will trigger a pass if both parameters refer to different objects. Fail otherwise. | ||
DrupalTestCase:: |
function | Will trigger a pass if the two parameters have the same value only. Otherwise a fail. | ||
DrupalTestCase:: |
function | Confirms that an error has occurred and optionally that the error text matches exactly. | ||
DrupalTestCase:: |
function | Confirms that an error has occurred and that the error text matches a Perl regular expression. | ||
DrupalTestCase:: |
function | Will trigger a pass if the two parameters have the same value and same type. Otherwise a fail. | ||
DrupalTestCase:: |
function | Type and class test. Will pass if class matches the type name or is a subclass or if not an object, but the type is correct. | ||
DrupalTestCase:: |
function | Confirms that no errors have occurred so far in the test method. | ||
DrupalTestCase:: |
function | Type and class mismatch test. Will pass if class name or underling type does not match the one specified. | ||
DrupalTestCase:: |
function | Will trigger a pass if the two parameters have a different value. Otherwise a fail. | ||
DrupalTestCase:: |
function | Will trigger a pass if the two parameters have the different value or different type. | ||
DrupalTestCase:: |
function | Will be true if the value is set. | ||
DrupalTestCase:: |
function | Will trigger a pass if the Perl regex pattern is not present in subject. Fail if found. | ||
DrupalTestCase:: |
function | Will trigger a pass if the raw text is NOT found on the loaded page Fail otherwise. | ||
DrupalTestCase:: |
function | Will be true if the value is null. | ||
DrupalTestCase:: |
function | Will trigger a pass if both parameters refer to the same object. Fail otherwise. | ||
DrupalTestCase:: |
function | Will trigger a pass if the Perl regex pattern is found in the subject. Fail otherwise. | ||
DrupalTestCase:: |
function | Will trigger a pass if the raw text is found on the loaded page Fail otherwise. | ||
DrupalTestCase:: |
function | Retrieves and saves current modules list into $_originalModules and $_modules. | ||
DrupalTestCase:: |
function | Follows a link by name. | ||
DrupalTestCase:: |
function | @abstract Checks to see if we need to send a http-auth header to authenticate when browsing a site. | ||
DrupalTestCase:: |
function | Creates a custom content type based on default settings. | ||
DrupalTestCase:: |
function | Creates a node based on default settings. | ||
DrupalTestCase:: |
function | Create a role / perm combination specified by permissions | ||
DrupalTestCase:: |
function | Creates a user / role / permissions combination specified by permissions | ||
DrupalTestCase:: |
function | @abstract Broker for the get function adds the authentication headers if necessary @author Earnest Berry III <earnest.berry@gmail.com> | ||
DrupalTestCase:: |
function | @TODO: needs documentation | ||
DrupalTestCase:: |
function | Logs in a user with the internal browser | ||
DrupalTestCase:: |
function | Disables a drupal module | ||
DrupalTestCase:: |
function | Enables a drupal module | ||
DrupalTestCase:: |
function | Do a post request on a drupal page. It will be done as usual post request with SimpleBrowser By $reporting you specify if this request does assertions or not Warning: empty ("") returns will cause fails with $reporting | ||
DrupalTestCase:: |
function | @abstract Broker for the post function adds the authentication headers if necessary @author Earnest Berry III <earnest.berry@gmail.com> | ||
DrupalTestCase:: |
function | |||
DrupalTestCase:: |
function | Set a drupal variable and keep track of the changes for tearDown() | ||
DrupalTestCase:: |
function | Generates a random string, to be used as name or whatever | ||
DrupalTestCase:: |
function | Just some info for the reporter | ||
DrupalTestCase:: |
function | tearDown implementation, setting back switched modules etc | 8 |