function ForumTestCase::doAdminTests
Runs admin tests on the admin user.
Parameters
object $user: The logged in user.
1 call to ForumTestCase::doAdminTests()
- ForumTestCase::testForum in modules/
forum/ forum.test - Tests forum functionality through the admin and user interfaces.
File
-
modules/
forum/ forum.test, line 286
Class
- ForumTestCase
- Provides automated tests for the Forum module.
Code
private function doAdminTests($user) {
// Login the user.
$this->drupalLogin($user);
// Enable the active forum block.
$edit = array();
$edit['blocks[forum_active][region]'] = 'sidebar_second';
$this->drupalPost('admin/structure/block', $edit, t('Save blocks'));
$this->assertResponse(200);
$this->assertText(t('The block settings have been updated.'), 'Active forum topics forum block was enabled');
// Enable the new forum block.
$edit = array();
$edit['blocks[forum_new][region]'] = 'sidebar_second';
$this->drupalPost('admin/structure/block', $edit, t('Save blocks'));
$this->assertResponse(200);
$this->assertText(t('The block settings have been updated.'), '[New forum topics] Forum block was enabled');
// Retrieve forum menu id.
$mlid = db_query_range("SELECT mlid FROM {menu_links} WHERE link_path = 'forum' AND menu_name = 'navigation' AND module = 'system' ORDER BY mlid ASC", 0, 1)->fetchField();
// Add forum to navigation menu.
$edit = array();
$this->drupalPost('admin/structure/menu/manage/navigation', $edit, t('Save configuration'));
$this->assertResponse(200);
// Edit forum taxonomy.
// Restoration of the settings fails and causes subsequent tests to fail.
$this->container = $this->editForumTaxonomy();
// Create forum container.
$this->container = $this->createForum('container');
// Verify "edit container" link exists and functions correctly.
$this->drupalGet('admin/structure/forum');
$this->clickLink('edit container');
$this->assertRaw('Edit container', 'Followed the link to edit the container');
// Create forum inside the forum container.
$this->forum = $this->createForum('forum', $this->container['tid']);
// Verify the "edit forum" link exists and functions correctly.
$this->drupalGet('admin/structure/forum');
$this->clickLink('edit forum');
$this->assertRaw('Edit forum', 'Followed the link to edit the forum');
// Navigate back to forum structure page.
$this->drupalGet('admin/structure/forum');
// Create second forum in container.
$this->delete_forum = $this->createForum('forum', $this->container['tid']);
// Save forum overview.
$this->drupalPost('admin/structure/forum/', array(), t('Save'));
$this->assertRaw(t('The configuration options have been saved.'));
// Delete this second forum.
$this->deleteForum($this->delete_forum['tid']);
// Create forum at the top (root) level.
$this->root_forum = $this->createForum('forum');
// Test vocabulary form alterations.
$this->drupalGet('admin/structure/taxonomy/forums/edit');
$this->assertFieldByName('op', t('Save'), 'Save button found.');
$this->assertNoFieldByName('op', t('Delete'), 'Delete button not found.');
// Test term edit form alterations.
$this->drupalGet('taxonomy/term/' . $this->container['tid'] . '/edit');
// Test parent field been hidden by forum module.
$this->assertNoField('parent[]', 'Parent field not found.');
// Test tags vocabulary form is not affected.
$this->drupalGet('admin/structure/taxonomy/tags/edit');
$this->assertFieldByName('op', t('Save'), 'Save button found.');
$this->assertFieldByName('op', t('Delete'), 'Delete button found.');
// Test tags vocabulary term form is not affected.
$this->drupalGet('admin/structure/taxonomy/tags/add');
$this->assertField('parent[]', 'Parent field found.');
// Test relations fieldset exists.
$relations_fieldset = $this->xpath("//fieldset[@id='edit-relations']");
$this->assertTrue(isset($relations_fieldset[0]), 'Relations fieldset element found.');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.