class TaxonomyTermFunctions in SimpleTest 5
Same name and namespace in other branches
- 6 tests/taxonomy.module.test \TaxonomyTermFunctions
Hierarchy
- class \DrupalTestCase extends \WebTestCase
- class \TaxonomyTermFunctions
Expanded class hierarchy of TaxonomyTermFunctions
File
- tests/
taxonomy.module.test, line 80
View source
class TaxonomyTermFunctions extends DrupalTestCase {
function get_info() {
return array(
'name' => 'Term functions',
'desc' => "Testing save/update/delete terms",
'group' => 'Taxonomy',
);
}
function testTermsFunctions() {
//preparing data
// vocabulary, hierarchy -> disabled, related terms = on;
$edit = array();
$_t = array(
'vid',
'name',
'description',
'help',
'relations',
'hierarchy',
'multiple',
'required',
'tags',
'module',
'weight',
'nodes',
);
foreach ($_t as $key) {
$edit[$key] = 0;
}
$name = $this
->randomName(20);
$relation = 1;
$edit['name'] = $name;
taxonomy_save_vocabulary($edit);
// create term
$termname = $this
->randomName(20);
$termdesc = $this
->randomName(200);
$termweight = rand(-9, 9);
$randSyn = rand(0, 9);
$synonyms = array();
for ($i = 0; $i < $randSyn; $i++) {
$synonyms[] = $this
->randomName(20);
}
$termsyn = implode("\n", $synonyms);
$data = array(
'name' => $termname,
'description' => $termdesc,
'weight' => $termweight,
'synonyms' => $termsyn,
'vid' => $edit['vid'],
'tid' => 0,
'relations' => 0,
);
taxonomy_save_term($data);
// retrieve term and check all fields
$_tArray = taxonomy_get_term_by_name($termname);
$getTerm = $_tArray[0];
$checkField = array(
'name',
'description',
'weight',
'vid',
);
foreach ($checkField as $v) {
$this
->assertEqual($data[$v], $getTerm->{$v}, "Checking value of the term ({$v})");
}
$getSynonyms = taxonomy_get_synonyms($getTerm->tid);
$this
->assertEqual(sort($synonyms), sort($getSynonyms), 'Checking synonyms');
// creating related terms
$relations = array();
$staryTid = $getTerm->tid;
$relations[] = $staryTid;
$termname = $this
->randomName(20);
$data = array(
'name' => $termname,
'description' => '',
'weight' => 0,
'synonyms' => 0,
'vid' => $vid,
'tid' => 0,
'relations' => array(
$staryTid,
),
);
taxonomy_save_term($data);
$_tArray = taxonomy_get_term_by_name($termname);
$getTerm = $_tArray[0];
$relations[] = $getTerm->tid;
// Creating another term related to 2 terms above;
$termname = $this
->randomName(20);
$data = array(
'name' => $termname,
'description' => '',
'weight' => 0,
'synonyms' => 0,
'vid' => $vid,
'tid' => 0,
'relations' => array(
$staryTid,
$getTerm->tid,
),
);
taxonomy_save_term($data);
$_tArray = taxonomy_get_term_by_name($termname);
$getTerm = $_tArray[0];
// check related terms
$related = taxonomy_get_related($getTerm->tid);
foreach ($relations as $rTid) {
$this
->assertTrue(array_key_exists($rTid, $related), "Checking relations ({$rTid})");
}
// delete vocabulary
$edit['name'] = 0;
taxonomy_save_vocabulary($edit);
}
function testTermsFunctionsSingleHierarchy() {
//preparing data
// vocabulary hierarchy->single
$edit = array();
$_t = array(
'vid',
'name',
'description',
'help',
'relations',
'hierarchy',
'multiple',
'required',
'tags',
'module',
'weight',
'nodes',
);
foreach ($_t as $key) {
$edit[$key] = 0;
}
// create vocab
$name = $this
->randomName(20);
$edit['hierarchy'] = 1;
$edit['name'] = $name;
taxonomy_save_vocabulary($edit);
// create 1st term
$termname = $this
->randomName(20);
$data = array(
'name' => $termname,
'description' => '',
'weight' => 0,
'synonyms' => '',
'vid' => $edit['vid'],
'tid' => 0,
'relations' => 0,
);
taxonomy_save_term($data);
$_tArray = taxonomy_get_term_by_name($termname);
$parent = $_tArray[0];
// create 2nd term as a child
$termname = $this
->randomName(20);
$data = array(
'name' => $termname,
'description' => '',
'weight' => 0,
'synonyms' => '',
'vid' => $edit['vid'],
'tid' => 0,
'relations' => 0,
'parent' => array(
$parent->tid,
),
);
taxonomy_save_term($data);
$_tArray = taxonomy_get_term_by_name($termname);
$children = $_tArray[0];
// check hierarchy
$getChildren = taxonomy_get_children($parent->tid);
$getParent = taxonomy_get_parents($children->tid);
$this
->assertEqual($parent, $getParent[$parent->tid], 'Checking parents');
$this
->assertEqual($children, $getChildren[$children->tid], 'Checking children');
// delete vocabulary
$edit['name'] = 0;
taxonomy_save_vocabulary($edit);
}
function testTermsFunctionsMultipleHierarchy() {
//preparing data
// vocabulary hierarchy->single
$edit = array();
$_t = array(
'vid',
'name',
'description',
'help',
'relations',
'hierarchy',
'multiple',
'required',
'tags',
'module',
'weight',
'nodes',
);
foreach ($_t as $key) {
$edit[$key] = 0;
}
$name = $this
->randomName(20);
$edit['hierarchy'] = 1;
$edit['name'] = $name;
taxonomy_save_vocabulary($edit);
// create 1st term
$parent = array();
$termname = $this
->randomName(20);
$data = array(
'name' => $termname,
'description' => '',
'weight' => 0,
'synonyms' => '',
'vid' => $edit['vid'],
'tid' => 0,
'relations' => 0,
);
taxonomy_save_term($data);
$_tArray = taxonomy_get_term_by_name($termname);
$parent[] = $_tArray[0]->tid;
// create 2nd term
$termname = $this
->randomName(20);
$data = array(
'name' => $termname,
'description' => '',
'weight' => 0,
'synonyms' => '',
'vid' => $edit['vid'],
'tid' => 0,
'relations' => 0,
);
taxonomy_save_term($data);
$_tArray = taxonomy_get_term_by_name($termname);
$parent[] = $_tArray[0]->tid;
// create 3rd term as a child
$termname = $this
->randomName(20);
$data = array(
'name' => $termname,
'description' => '',
'weight' => 0,
'synonyms' => '',
'vid' => $edit['vid'],
'tid' => 0,
'relations' => 0,
'parent' => array(
$parent,
),
);
taxonomy_save_term($data);
$_tArray = taxonomy_get_term_by_name($termname);
$children = $_tArray[0];
$getParent = taxonomy_get_parents($children->tid);
foreach ($parent as $p) {
$this
->assertTrue(array_key_exists($p, $getParent), "Checking parents ({$p})");
//$this->assertEqual($parent,$getParent[$parent->tid], 'Checking parents');
}
// delete vocabulary
$edit['name'] = 0;
taxonomy_save_vocabulary($edit);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
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 | Follows a link by name. Will click the first link found with this link text by default, or a later one if an index is given. Match is case insensitive with normalised space. Does make assertations if the click was sucessful or not and it does… | ||
DrupalTestCase:: |
function | @abstract Checks to see if we need to send a http-auth header to authenticate when browsing a site. | ||
DrupalTestCase:: |
function | Create a role / perm combination specified by permissions | ||
DrupalTestCase:: |
function | Creates a user / role / permissions combination specified by permissions | ||
DrupalTestCase:: |
function | @abstract Brokder 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 | ||
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 druapl 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 | 1 | |
TaxonomyTermFunctions:: |
function | |||
TaxonomyTermFunctions:: |
function | |||
TaxonomyTermFunctions:: |
function | |||
TaxonomyTermFunctions:: |
function |